.net core .Net核心依赖项解析-nuget vs local

.net core .Net核心依赖项解析-nuget vs local,.net-core,dll,nuget,.net Core,Dll,Nuget,我正在尝试将我们的一些项目从.NETCore3.1升级到.NET5,但在这方面遇到了一些问题。其中一个主要问题是,我们正在使用一些公共库,而这些公共库又反过来使用其他公共库 虽然我能够使这项工作正常进行,但我正在努力清楚地理解这个问题,最好的说明如下: 主要项目 对SharedLibrary1的本地引用(v2.0.0) 对SharedLibrary2(v1.0.0)的本地参考 Nuget对SharedLibrary1的引用(v1.0.0) 现在,当我构建“主项目”时,会出现构建错误,抱

我正在尝试将我们的一些项目从.NETCore3.1升级到.NET5,但在这方面遇到了一些问题。其中一个主要问题是,我们正在使用一些公共库,而这些公共库又反过来使用其他公共库

虽然我能够使这项工作正常进行,但我正在努力清楚地理解这个问题,最好的说明如下:

主要项目

  • 对SharedLibrary1的本地引用(v2.0.0
  • 对SharedLibrary2(v1.0.0)的本地参考
    • Nuget对SharedLibrary1的引用(v1.0.0
现在,当我构建“主项目”时,会出现构建错误,抱怨缺少类型等,这些类型出现在SharedLibrary1(v2.0.0)中,但不在SharedLibrary1(v1.0.0)中。我通过更新SharedLibrary2以使用SharedLibrary1(v2.0.0)解决了这个问题,但我想了解.Net如何解决依赖关系,以及我们的依赖关系管理/解决是否可以改进

运输署;DR:为什么.Net忽略了对本地v2库的引用而支持nuget还原的v1库,这是另一个库的子依赖项

另外,当我在解决此问题之前查看项目依赖关系时(如上所述),我可以看到问题库的多个版本,如下所示:

  • 共享库1(v1.0.0
  • 共享库1(v2.0.0
任何链接/解释将不胜感激