3

ここで詳しく説明したのと同様の状況がありましたが、これにも優れた解決策があります。エラーを回避する方法は、投稿の方法とは異なります。なぜ問題が解決したのかわかりません。私はその理由を理解することに非常に興味があります。

私の状況-System.Dataをロードしていたネイティブ32ビットアセンブリA.exeがあり、System.DataがSystem.Numericsをロードしていました。「アセンブリをロードできません」がSystem.Numericsで発生しました。System.NumericsアセンブリはGACに存在し、Fusion Log Viewerを使用して、予想されるアセンブリの公開鍵トークンとGACの公開鍵トークンが一致することを確認しました。ただし、フュージョンログには、GACルックアップが失敗したことが示されます。

System.NumericsアセンブリをGACの場所からA.exeのディレクトリにコピーすると、この問題は解決しました。これで問題が解決した理由と、GACルックアップが失敗した理由に興味があります。

4

1 に答える 1

0

64ビットマシンで開発していて、ソリューション内のプロジェクトのいずれかで「 Use Any CPU」を使用している場合、デフォルトでは、64ビットのGACアセンブリが読み込まれます。これを回避するには、すべてのプロジェクトを32ビットのみを使用してコンパイルするように設定します。そうすれば、32ビットGACのみが使用されます。

于 2013-02-26T17:40:24.993 に答える