【发布时间】:2019-03-22 09:21:16
【问题描述】:
自从我为 C# ASP.Net 项目将目标框架升级到 4.6.1 后,我在构建过程中收到了很多冲突警告。 50 多条消息,例如:
考虑将程序集 "System.Runtime.InteropServices.RuntimeInformation, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 从版本 "0.0.0.0" [] 重新映射到版本 "4.0.2.0" [C:\Program Files ( x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.InteropServices.RuntimeInformation.dll] 来解决冲突并摆脱警告。
它们都与 .NET 系统库有关。我当然可以重新映射所有引用,但不知何故我认为这不是正确的解决方案。如果我使用输出“详细”进行重建,我会得到更多信息:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.ConflictResolution.targets(33,5):消息NETSDK1041:在“参考:System.Runtime.InteropServices.RuntimeInformation,版本=4.0.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a,处理器架构=MSIL”和“参考:System.Runtime.InteropServices.RuntimeInformation”之间遇到冲突。 NETSDK1033:选择 'Reference:System.Runtime.InteropServices.RuntimeInformation' 因为 AssemblyVersion '4.0.2.0' 大于 '4.0.1.0'。
文件夹 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1 和 C:\Program Files (x86)\ 中的 .NET 框架之间似乎存在版本冲突Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib.
我不知道如何确保它使用来自同一个地方的引用。有人可以帮忙吗?
【问题讨论】:
-
你能否重新安装所有 NuGet 包(Nuget 命令窗口中的
Update-Package -Reinstall),然后双击程序集绑定警告,如果有人建议添加绑定重定向(它将打开一个对话框,询问是否允许您自动编辑 web.config)? -
我收到并且没有收到任何程序集绑定警告:(
标签: .net visual-studio msbuild