Visual Studio:无法解析主要引用,因为它对.NET Framework程序集

时间:2017-04-20 01:07:55

标签: c++ visual-studio

我正在从VS2008升级到VS2017,但由于第三方对该项目的贡献,仍然需要以.net2.0为目标。引用的项目已更改为目标2.0,并已编译。主要项目也改为目标2.0,但它在构建时出错:

“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets(1964,5):警告MSB3258:主要参考”引用项目“无法解析,因为它对.NET Framework程序集“mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”具有间接依赖性,其版本“4.0.0.0”高于版本“2.0.0.0” “在当前的目标框架中。”

如果我在引用项目和主项目中查看mscorlib引用的属性页面,则表示它是2.0版本。

但是,引用项目的详细构建日志显示了这一点:

1>目标ResolveAssemblyReferences:

1>使用程序集“Microsoft.Build.Tasks.Core,Version = 15.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”中的“ResolveAssemblyReference”任务。

1>任务“ResolveAssemblyReference”

1> TargetFrameworkMoniker:

1> .NETFramework,版本= 2.0

1> TargetFrameworkMonikerDisplayName:

1> .NETFramework v2.0

1> TargetedRuntimeVersion:

1> v4.0.30319

所以,这似乎是“间接依赖”的来源。“TargetedRuntimeVersion”与.NETFramework不匹配。

任何人都知道如何修复它?

1 个答案:

答案 0 :(得分:0)

看起来Visual Studio需要4.0引用来构建。您是否尝试过添加引用?