.NET Core 包版本冲突处理方式
我正在从一个 .NET MVC 5 Web 应用程序迁移到一个 .NET Core 2.2 Web API 项目以及五个 .NET Standard 2.0 项目,它们都位于一个解决方案下。
我现在收到 28 条关于包冲突的警告 (MSB3277),它们都在 System 命名空间内。例如,Version=4.0.11.0 和 Version=4.0.14.0 之间的 System.Collections.Concurrent 似乎存在版本冲突(请参阅下面的错误 block )。
故障排除尝试:
我尝试卸载所有我不使用的 .NET Core SDK,目前安装了
2.2.300。那没有用。我尝试在解决方案级别进入 NuGet 以安装缺少的程序集,但
4.0.14在选择列表中甚至不可用。我可以从以下版本中进行选择:4.3、4.0.12、4.0.10和4.0.0。我确实尝试在所有项目中安装4.3,但这没有用。网络上的其他解决方案似乎建议降低 SDK 的版本或在 *.csproj 文件中对引用进行硬编码 - 如果没有必要,我都不想这样做。我不喜欢前者,因为向后移动似乎违反直觉,我不喜欢后者,因为硬编码修复以永久使用旧包,这似乎是一个非常糟糕的主意,因为它似乎不太可能更新到已发布的新版本。
有谁知道如何解决这些警告?非常感谢任何帮助。
其中一个警告的构建详细输出:
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果