0

現在、C# で作成されたアプリが 1 つあります。内部的には、C# で記述され、32 ビット Windows でコンパイルされた別のサード パーティの dll を使用しています。サードパーティの dll は 64 ビット Windows でリリースされる予定で、最終的にはこの新しい dll を使用する必要があります。しかし、今のところ 64 ビット OS に移行するつもりはありません。

私の質問: この新しい DLL は既存のコードに影響を与えますか? はいの場合、この機能に対応するためにどのように、どのような変更を行う必要がありますか。

4

2 に答える 2

3

32 ビット Windows で 64 ビット DLL を使用できないことは確かです。

thunking のようなトリックや WoW64 のような 32 ビット サブシステムを使用することで別の方法に進むこともできますが、32 ビット バージョンでは 64 ビット コードをすべてサポートしているわけではありません。

サード パーティが引き続き 32 ビット バージョンの DLL を提供してくれることを願っています。そのため、心配する必要はありません。そうでなく、アップグレードしたい場合は、64 ビットにも移行する必要があります。

于 2013-02-11T12:42:14.887 に答える
2

サードパーティ ライブラリが C# ライブラリの場合は、AnyCPU としてコンパイルする必要があります。(正確には著者に確認してください。)

AnyCPUとしてコンパイルした場合、32ビットプログラムから使用すると32ビットとして動作し、64ビットプログラムから使用すると64ビットとして動作します。

それ以外の場合は、DLL に合わせて独自のプログラムを変更する必要があります。しかし、彼らがAnyCPUに設定していない場合は、私は彼らに不平を言うか...または彼らの動機が何であるかを調べます(おそらく、管理されていないDLLを使用しています)。

于 2013-02-11T12:54:13.527 に答える