プラットフォームに依存しないの.NET bit化 - OSやアプリケーションの呼び出しから?

StackOverflow https://stackoverflow.com/questions/552293

質問

私は、プラットフォームに依存しない.NETアプリケーションは、オペレーティングシステムのbit化に「浮上」ということを知っています。しかしnon-.NETアプリケーションから呼び出されるライブラリではなく、実行可能であり、.NETアセンブリについて何?

私たちは、CLRは現在、それがプラットフォームに依存しないでSQL Server 2005のストアドプロシージャを拡張し、.NETのDLLを持っています。拡張ストアドプロシージャは、64ビットのWindows上で実行されている32ビットのSQL Serverインスタンスから呼び出されたときに?

何が起きます
役に立ちましたか?

解決

これは、アセンブリがためにコンパイルされたものを対象に依存します。あなたは、プロジェクトのビルドオプションで「どれCPU」や「x86」は選択した場合、DLLは、32ビット・インスタンスとして実行する必要があります。あなたが選択した場合は、「x64の」それは例外(メモリからBadImageFormatException)をスローします。

SQL Serverはそのプロセス内の.NETランタイムの32ビットバージョンを実行されるように

Windowsの32ビットプロセスの下では、64ビットのDLLをロードすることはできません。だからあなたの.NETアセンブリはまた、64ビットマシン上でも、32ビットとして実行されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top