我目前正在准备将后端解决方案移植到.Net Core。在我们可以完全做到之前,还有一些主要的事情要做。第一步,我将所有项目从.Net Framework 4.5.2升级到4.6.1,以便我们可以将外部包迁移到.Net Standard 2.0。
这样做,我还为所有项目切换了新的.csproj结构,除了web-api(我的理解是,还不可能,如果可以的话,我们正在大量使用自定义我现在不想迁移/重新实现的msbuild步骤。
我现在遇到的问题是nuget软件包的版本冲突,因为使用新.csproj的项目仅具有可传递的软件包引用(因此没有显式版本),而api项目却具有该软件包的显式版本。传递性词最终解析为其他版本。
如何处理这种情况?我花了无数小时来尝试对现有软件包进行升级/降级,以使它们完全匹配,但这并不是这样。