13

.Net 4.0 をターゲットとするプロジェクトがあり、参照されているアセンブリの 1 つは .Net 4.5 です。

.Net 4.5 をインストールするまでは問題なく動作していましたが、インストール後に、対象の .Net バージョンに関する次の 5 つの警告が表示されます。

*プライマリ リファレンス "xxxx.Library, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL" は、".NETFramework,Version=v4.5" フレームワークに対してビルドされているため、解決できませんでした。現在対象のフレームワーク「.NETFramework,Version=v4.0」より上位のバージョンです。

この:

フレームワーク アセンブリ "System.IO.Compression 、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089」は、現在対象となっているフレームワークでは解決できませんでした。".NETFramework,Version=v4.0". この問題を解決するには、「Microsoft.TeamFoundation.Build.Workflow、Version=10.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a、processorArchitecture=MSIL」の参照を削除するか、アプリケーションを「System.IO」を含むフレームワーク バージョンに再ターゲットします。圧縮、バージョン = 4.0.0.0、カルチャ = ニュートラル、PublicKeyToken = b77a5c561934e089". テスト

Visual Studio が私を嫌うのはなぜですか? 4.5 への更新前にコンパイルできた場合、対象のフレームワークは変更されておらず、.Net 4 を使用する VS2010 の同僚に対して引き続き機能します。

4

2 に答える 2

13

エラー メッセージは、問題を説明しています - .NET 4 アプリは .NET 4.5 dll を参照できません。アプリも .NET 4.5 に変更するか、dll を .NET 4 に戻します。

于 2013-05-31T11:44:24.037 に答える
5

これは、Microsoft に最もよく知られている理由により、.NET Framework 4.5 が(サイド バイ サイド インストールではなく) .NET Framework 4 ファイルを置き換えるインプレース アップデートであるためです。C:\Windows\Microsoft.NET を見ると、4.5 フォルダーは見つかりません。4.0 フォルダー内のファイルが置き換えられています。

したがって、以前にコンパイルした理由は、dll が .Net 4.0 dll だったからです。現在は 4.5 に交換されています。

于 2014-07-26T10:19:40.963 に答える