我有3个项目ABC,其中AB.netcore class library,而CWPF (.netcore)

在项目A Pomelo.EntityFrameworkCore.MySql中,安装了一个nuget packge,它依赖于Microsoft.EntityFrameworkCore.Relational (>= 3.1.0)
并且在项目B中安装了Oracle.EntityFrameworkCore,它依赖于Microsoft.EntityFrameworkCore.Relational (>= 2.1.11 && < 3.0.0)
项目A中都引用了项目BC,但是由于两个项目都依赖于同一程序集的不同版本,因此无法编译。

我也遵循了this guide,但是由于App.config中没有.netcore,因此对我不起作用。

这是github上的演示项目

最佳答案

here:



您的package1(Pomelo.EntityFrameworkCore.MySql)明确表示它需要某些程序集的v3.1.0或更高版本才能正常工作。 package2(Oracle.EntityFrameworkCore)表示,如果同一程序集的版本为3.0.0或更高版本,它将无法正常工作。

通过强制您的应用使用一个版本的程序包(程序集重定向),您将破坏其中一个程序包。您想杀死哪一个?从应用程序中将其手动杀死:)

您是否尝试过使用 Pomelo.EntityFrameworkCore.MySql v.2.2.6 -它需要Microsoft.EntityFrameworkCore.Relational(> = 2.2.6)?

关于c# - 在.netcore中使用同一nuget包的多个版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60332857/

10-10 17:43