.net core 在.NETCore中,同时使用NuGet的两个不同版本

.net core 在.NETCore中,同时使用NuGet的两个不同版本,.net-core,nuget,.net-core-3.1,jil,.net Core,Nuget,.net Core 3.1,Jil,以下是我的解决方案布局: .Net Core Web API Service Solution | +-- Project A | | Nuget Package Dependencies | +-- Jil v2.15.4 | +-- Project B | Nuget Package Dependencies +-- Jil v2.17.0 Jil的2.16.0版有一个。因此,当我的项目A尝试只使用2.17

以下是我的解决方案布局:

.Net Core Web API Service Solution  
  |  
  +-- Project A  
  |     | Nuget Package Dependencies
  |     +-- Jil v2.15.4
  |
  +-- Project B
        | Nuget Package Dependencies
        +-- Jil v2.17.0
Jil的2.16.0版有一个。因此,当我的
项目A
尝试只使用2.17.0版时,它有一个


在.Net Core中,是否可以在一个应用程序中使用两个不同版本的NuGet软件包?如果是,怎么做?

不。从来没有过-在.NET Old和.NET Core中,一个程序集只能有一个版本。事实并非如此。在这两种情况下,可以同时加载单个程序集的多个版本,但这需要大量额外工作。像NuGet这样的工具对您没有帮助,您需要自己编写大量脚本才能将内容放在正确的位置,另外还需要编写代码或配置来告诉运行时在哪里可以找到不同的版本。如果您的应用程序或依赖项存在泄漏的抽象,并且您需要在不同版本之间传递对象,那么这将不起作用(我认为)。它从来都不是-在.NETOld和.NETCore中,一个程序集只能有一个版本。这不是真的。在这两种情况下,可以同时加载单个程序集的多个版本,但这需要大量额外工作。像NuGet这样的工具对您没有帮助,您需要自己编写大量脚本才能将内容放在正确的位置,另外还需要编写代码或配置来告诉运行时在哪里可以找到不同的版本。如果您的应用程序或依赖项有泄漏的抽象,并且您需要在不同版本之间传递对象,那么这将不起作用(我认为)。