【问题标题】:Using multiple versions of the same nuget package in .netcore在 .netcore 中使用同一个 nuget 包的多个版本
【发布时间】:2020-02-21 05:50:59
【问题描述】:

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

在项目APomelo.EntityFrameworkCore.MySql中安装了一个依赖于Microsoft.EntityFrameworkCore.Relational (>= 3.1.0)的nuget包

并且在项目中安装了B Oracle.EntityFrameworkCore,它依赖于Microsoft.EntityFrameworkCore.Relational (>= 2.1.11 && < 3.0.0)

项目AB 都在项目C 中引用,但由于两个项目都依赖于相同的程序集不同版本,因此无法编译。

我也关注了this guide,但由于.netcore 中没有App.config,它对我不起作用。

这是github上的演示项目

【问题讨论】:

    标签: c# visual-studio .net-core compiler-errors .net-assembly


    【解决方案1】:

    来自here

    绑定重定向是一个 .NET 框架概念,在 .NET Standard 和 .NET Core 上没有绑定重定向。

    您的 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) ?

    【讨论】:

    • 我不想同时使用这两个包,但我不知道这是怎么回事。 Pomelo.EntityFrameworkCore.MySql v.2.2.6 缺少一些我需要的功能,比如它无法为views 搭建脚手架。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2014-11-01
    • 2021-03-29
    相关资源
    最近更新 更多