21

サードパーティの SlingshotClient.dll を参照するプロジェクトを構築しようとしています。プロジェクトは、他の開発者のワークステーションで正常にビルドされます。ただし、以下のエラーが発生します。私が想像できる違いの 1 つは、私のマシンに VS 2012 と .NET Frameworks 4.5 もインストールされていることです。これをうまく構築できる他の開発者は、それらをインストールしていないと思います。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): 警告 MSB3274: プライマリ リファレンス "SlingshotClient、Version=1.0.0.0、Culture=neutral、PublicKeyToken=bb5a8745472e181a、processorArchitecture =MSIL" は、".NETFramework,Version=v4.5" フレームワークに対してビルドされているため、解決できませんでした。これは、現在対象となっているフレームワーク「.NETFramework,Version=v4.0」よりも上位のバージョンです。

このエラーは、プロジェクトがフレームワーク バージョン 4.0 を対象としている (これは正しい) ことを示しているようですが、参照されている SlingshotClient.dll はフレームワーク バージョン 4.5 を対象としてビルドされています。ディスセンブラで SlingshotClient.dll を見ると、アセンブリがフレームワーク バージョン 4.0 を対象としてビルドされているように見えます

時間

4

2 に答える 2

24

どうやら、.NET Frameworks 4.0 しかインストールされていない場合、4.5 をターゲットとする .NET アセンブリを参照として .NET 4.0 をターゲットとするプロジェクトに追加できます。これにより、エラーなしでコンパイルおよび実行されます。

.NET Frameworks 4.5 をインストールするとすぐに、コンパイルが失敗します。解決策は、.NET Framework 4.5 のプロジェクトをターゲットにするか、.NET 4.0 をターゲットとする参照アセンブリのバージョンを取得することです。

.NET 4.5 は、4.0 の代替品です。4.0 は 4.5 について何も知りません。4.0 または 4.5 で同じバージョン番号の最初の桁を見ているだけなので、コンパイルが許可されていると思います。4.5 をインストールするとすぐに、4.0 プロジェクトは 4.5 フレームワークを使用してコンパイルされ、4.5 について認識し、文句を言うようになります。

于 2014-03-05T17:57:35.800 に答える