2012-09-26 40 views
1

我試圖用「.NETFramework 4.0」作爲目標框架編譯項目。但我得到以下警告:由於主要引用而無法編譯C#項目

主要參考「XXX」無法得到解決,因爲它的框架組件的 間接依賴 「System.Runtime.Serialization,版本= 4.0.0.0,文化=中立, PublicKeyToken = b77a5c561934e089「,這在 當前目標框架中無法解決。 」 .NETFramework,版本= V4.0" 。要解決 此問題,請刪除引用「Fdi」或將您的 應用程序重定向到包含 「System.Runtime.Serialization,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = b77a5c561934e089」的框架版本。

回答

2

我發現早期的(但類似)的問題:Visual Studio 2010: Reference Assemblies Targeting Higher Framework Version

約翰內斯·魯道夫發現MSDN上的論壇(http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/dfadfb34-5328-4c53-8274-931c6ae00836)這樣的回答:

但是,很2級的解決方法。

選項1:

第一步:卸載引用項目針對.NET 2.0

第二步:右鍵點擊卸載項目並選擇編輯從上下文菜單中

第三步:添加<SpecificVersion>true</SpecificVersion>的參考。 下面是我的攝製解決方案的示例:

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

第四步:重新加載項目。 現在,您應該能夠在Visual Studio 2010中構建,但仍可能會有如下警告,但構建可能會成功。

警告1項目'XXX'不能被引用。引用的項目的目標是到一個更高的Framework版本(3.5)

選項2:

使用命令行工具CSC.EXE構建每個源文件,這不會阻止建設。

+0

謝謝,它也適用於我。 –

相關問題