Visual Studioでリリースモードでプロジェクトをビルドするときに問題が発生しました...アセンブリの形式が間違っているとエラーが表示されます。いくつかのx86アセンブリが、x64アセンブリの代わりに参照されていたことが分かります。 PresentationCore、System.Dataなどのアセンブリ。Visual Studio 2012で間違ったDLLへの参照が追加される
物事は私が試してみた:
デバッグモードでは、すべてのCPUは罰金構築します。
デバッグモードでは、x64は正常に動作します。
リリースモード、任意のCPUはx64のに失敗した
リリースモード、(これは私は私のプロジェクトをビルドしたいの組み合わせである)
を失敗した私がしようとすると、問題が来ますx86リファレンスを削除し、x64リファレンスに切り替えます。 Visual Studioでは、x64リファレンスの代わりに古いx86リファレンスを追加するだけです。たとえば:
私はを参照してC:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Data.dll
を追加C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll
であるSystem.Dataの参照を削除し、私はSystem.Data参照が、パスが古いdllファイルにはまだ明らかにすることを上のクリックしたときと同じエラーが発生します。これは、他のいくつかのDLLでも起こっています。
この問題の解決方法を知っている人はいますか?
.NET 3.5用にコンパイルしています。残念なことに、フレームワークの変更は問題になりません。なぜフレームワークの変更が効果を生むと思いますか?私の質問のDLLは、これらの2つのバージョンから完全に独立しています、それはちょうど異なるプロセッサプラットフォームです。 – tnw
提案[ここ](http://connect.microsoft.com/VisualStudio/feedback/details/525599/compiling-an-net-application-for-x64-platform-on)のように、プロジェクトファイル内の参照を手動で変更してみてください-64ビット-os-not-generate-cs1607-警告)(2010年7月12日3:23 PMにMicrosoftによって投稿されたもの) – Jargon
ええ、csprojファイルで直接変更することは確かに唯一の方法です転送する参照を取得する。しかし、まだ、デバッグとリリースがビルドされない理由については説明していません。 – tnw