.net core 2.2.0 vs 2.2.7 无法合并,因为版本被项目锁定
Posted
技术标签:
【中文标题】.net core 2.2.0 vs 2.2.7 无法合并,因为版本被项目锁定【英文标题】:.net core 2.2.0 vs 2.2.7 cannot consolidate, because versions locked by project 【发布时间】:2020-02-08 19:47:12 【问题描述】:我有一个依赖 .net core 2.2 的 Visual Studio 解决方案。一旦更新到sdk 2.2.7,只有一个项目依赖于SDK->Microsoft.NETCore.App 2.2.7;其他项目一直引用 SDK->Microsoft.NETCore.App 2.2.0。
进入 nuget 管理器,合并选项卡,由于“被项目锁定”(见下文),无法对齐项目之间的版本。
有什么想法吗? 非常感谢
洛伦佐
【问题讨论】:
混合 2.2.0 和 2.2.7 是没有意义的。您应该始终以最新的 2.2 版本为目标,以便继续得到 Microsoft 的支持。 嗨,这个问题有什么更新吗? 嗨兰斯。我不在办公室,抱歉回复晚了。是的,它有效。非常感谢 Lex Li,是的,混合是无意义的,但这不是我的选择。它依赖于安装更新的 SDK,VS“自己”管理,在整个解决方案中只更新 1 个项目...... 【参考方案1】:进入 nuget 管理器,合并选项卡,无法对齐 项目之间的版本,因为“被项目锁定”(见下文)。
请参阅Consolidate tab,当您的解决方案中的一个项目不支持更新时,此选项不起作用。
对于.net core
和asp.net core
项目,默认使用2.2.0版本,不支持manage packages for solution
合并或manage packages for project
更新,我们只好更新那些项目——按步骤逐一:
1.右键项目=>编辑xxx.csproj
2.如果存在<PackageReference Include="Microsoft.NETCore.App" />
这样的语句,显式添加2.2.0版本:<PackageReference Include="Microsoft.NETCore.App" Version="2.2.0" />
。如果不存在这样的语句,请手动添加。
3.现在右键项目=>Manage nuget packages,可以选择2.2.7版本更新。
注意:需要我们在机器上安装相应的sdk和runtime。而且根据Martin的回答,大多数情况下你不需要更新被阻止的项目,请检查你是否有特定的理由来更新或合并它。
【讨论】:
以上是关于.net core 2.2.0 vs 2.2.7 无法合并,因为版本被项目锁定的主要内容,如果未能解决你的问题,请参考以下文章
vs2019 wpf .net core都有哪些没包含.net
Asp.Net core (Full .Net framework) vs Asp.Net core (.Net Core) 性能
NET Standard vs Net Core App:创建 .NET Core 项目时(使用控制台或类库)
与 VS 2017 dotnet-sdk-2.1.4 和 .NET Core 2.0.6 .NET Core SDK 2.1.101 混淆