c# - 在 .netcore 中使用同一个 nuget 包的多个版本
问题描述
我有 3 个项目A
,B
以及C
whereA
和B
is.netcore class library
和C
is WPF (.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
中B
引用,C
但由于两个项目都依赖于相同的程序集不同版本,因此无法编译。
我也遵循了本指南,但由于其中没有App.config
,.netcore
它不适合我。
这是github上的演示项目
解决方案
从这里:
绑定重定向是一个 .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) ?
推荐阅读
- docusignapi - 部分自定义选项卡不起作用
- javascript - 如何更改 DataTables 行的颜色?
- reactjs - 重新加载 ReactJS 组件以从 localStorage 读取的最佳方法
- wso2is - API Store - 错误无法执行应用程序创建工作流程
- python - cx_Oracle 不适用于 Oracle 数据库 10gR2
- c# - 在 WPF 应用程序运行时添加资源管理器上下文菜单
- batch-file - 批处理文件 - 使用 sqlcmd 拒绝获取错误访问
- javascript - SyntaxError:意外的令牌(
- visual-c++ - 我应该链接哪个库以使用 DirectX Media Object Wrapper Filter?
- javascript - 同时更改不同页面上的多个 id