6

最近、vs2010 pro sp1 を使用してメインの開発マシンから新しいマシンにソリューションを移動しました。ビルドに失敗することを除いて、セットアップは同じであるはずです。

そのようなエラーを与える

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): 警告 MSB3258: プライマリ参照 "C:\rep\hms\trunk\ikassystemv3\ikasDAL\bin\Debug\ ikasDAL.dll" は、バージョン "4.0.0.0" よりも新しい "4.0.0.0" を持つ .NET Framework アセンブリ "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" に間接的に依存しているため、解決できませんでした。現在のターゲット フレームワークでは「2.0.0.0」。

ただし、問題のすべてのライブラリは.net 2フレームワークを使用するように設定されており、この方法が必要です。そうしないと、それらを使用するものが壊れます。

ただし、何らかの理由で、.net 2 システム ライブラリがどういうわけか .net 4 のものを参照していると考えているようです。参照されているすべてのライブラリは .net 2 です

ここで私のビルド出力を見ることができます

http://tinyurl.com/bnugru4

4

2 に答える 2

2

CopyLocalプロジェクト参照を使用し、依存プロジェクト(つまり、ikasDAL.dll)のターゲットフレームワーク(つまり、.NET 4から2)を変更すると、この問題が発生します。

その場合は、出力フォルダー(C:\ rep \ hms \ trunk \ ikassystemv3 \ ikasDAL \ bin \ Debug)を削除して再構築すると、すべてが修正されます。

于 2012-11-12T22:38:13.330 に答える
0

ログから、誰かが ikasDAL.dll を 4.0 で作成したように見えます。これは、2.0 フレームワークには存在しなかった System.Xml.Linq などに依存しているためです。

どう見ても、誰かが ikasDAL.dll が何に依存しているのかを理解せずに、人為的に ikasDAL.dll を 2.0 に設定したと言えます。もしそうなら、もっと大きな問題があると思います。

または、最近 ikasDAL が 4.0 に設定されていて、2.0 にリセットしましたが、依存関係が修正されていません。


まず、すべての bin ディレクトリを手動でクリーンアップします (基本的には削除します)。次に、個々のプロジェクトを調べて、実際に 2.0 に設定されていることを確認します。最後に、問題が発生するまで、各プロジェクトを 1 つずつビルドします。

于 2012-11-12T22:56:57.407 に答える