我正在从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不匹配。
任何人都知道如何修复它?
答案 0 :(得分:0)
看起来Visual Studio需要4.0引用来构建。您是否尝试过添加引用?