1

対象のフレームワークを「.NETFramework 4.0」としてプロジェクトをコンパイルしようとしています。しかし、次の警告が表示されます。

プライマリ参照 "XXX" は、フレームワーク アセンブリ "System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" に間接的に依存しているため、解決できませんでした。フレームワーク。".NETFramework,Version=v4.0". この問題を解決するには、参照 "Fdi" を削除するか、"System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" を含むフレームワーク バージョンにアプリケーションを再ターゲットします。

4

1 に答える 1

2

以前の (しかし同様の) 問題を見つけました: Visual Studio 2010: より高いフレームワーク バージョンを対象とする参照アセンブリ

Johannes Rudolph は、MSDN のフォーラム ( http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/dfadfb34-5328-4c53-8274-931c6ae00836 ) で次の回答を見つけました。

ただし、2 つの回避策があります。

オプション1:

Step1: .NET 2.0 を対象とする参照プロジェクトをアンロードする

Step2: アンロードしたプロジェクトを右クリックし、コンテキスト メニューから [編集] を選択します。

Step3:<SpecificVersion>true</SpecificVersion>参照に追加します。以下は、私の再現ソリューションのサンプルです。

<ProjectReference Include="..\HighFX\HighFX.csproj">
<Project>{8DD71CAF-BEF7-40ED-9DD0-25033CD8009D}</Project>
<Name>HighFX</Name>
<SpecificVersion>true</SpecificVersion>
</ProjectReference>

Step4: プロジェクトをリロードします。これで、Visual Studio 2010 内でビルドできるはずです。以下のような警告が引き続き表示される可能性がありますが、ビルドは成功する可能性があります。

警告 1 プロジェクト 'XXX' は参照できません。参照されているプロジェクトは、より高いフレームワーク バージョン (3.5) を対象としています。

オプション 2:

コマンド ライン ツール csc.exe を使用して、各ソース ファイルをビルドします。ビルドは妨げられません。

于 2012-09-26T13:13:58.140 に答える