1

我正在尝试使用目标框架作为“.NETFramework 4.0”来编译项目。但我收到以下警告:

无法解析主要引用“XXX”,因为它间接依赖于框架程序集“System.Runtime.Serialization,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”,在当前目标中无法解析框架。“.NETFramework,版本=v4.0”。要解决此问题,请删除引用“Fdi”或将您的应用程序重新定位到包含“System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的框架版本。

4

1 回答 1

2

我发现了一个较早(但类似)的问题:Visual Studio 2010: Reference Assemblies Targeting Higher Framework Version

Johannes Rudolph 在 MSDN 的论坛(http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/dfadfb34-5328-4c53-8274-931c6ae00836)上找到了这个答案:

但是,有两种解决方法。

选项1:

步骤 1:卸载针对 .NET 2.0 的引用项目

Step2:右键单击卸载的项目并从上下文菜单中选择编辑

步骤 3:添加<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”。引用的项目针对更高的框架版本(3.5)

选项2:

使用命令行工具 csc.exe 构建每个源文件,这不会阻止构建。

于 2012-09-26T13:13:58.140 回答