c# - 同一解决方案中两个不同项目的相同 Nuget 包
问题描述
我在同一个解决方案中有两个 API 项目(一个是我的,另一个是我需要参考且不应更改的)。这两个 API 项目都添加了对Ninject
andNinject.Web.Common
包的引用。以下是软件包的设置方式:
Ninject.Web.Common
在 Web Api A 中 -\packages\Ninject.Web.Common.3.3.2\lib\net45\Ninject.Web.Common.dll
Ninject.Web.Common
在 Web Api B 中 -\packages\Ninject.Web.Common.3.2.3.0\lib\net45-full
(注意版本不同3.3.2
,并且3.2.3
)
发生的事情是当我尝试运行我得到的解决方案时
Could not load type 'Ninject.Web.Common.OnePerRequestHttpModule' from assembly 'Ninject.Web.Common, Version=3.3.2.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7'.
在我的Web Api B
项目上(注意它试图3.3.2
从我的项目中引用版本Web Api A
)。
如何保持两个项目相同并让它们引用各自版本的 Ninject?
解决方案
您通常只能在依赖关系图中解析给定依赖关系的一个版本(nuget restore
主要用于计算给定依赖关系图中要使用的版本)。
这通常很好,但是您的问题是OnePerRequestHttpModule
在 Ninject.Web.Common 的 3.2.3 和 3.3.2 版本之间删除了https://www.fuget.org/packages/Ninject.Web.Common/3.3.2/lib /netstandard2.0/diff/3.2.3/和 WebApiB 想使用它。
您在此处的选择是修改 WebApiB 使其不再使用OnePerRequestHttpModule
,或者将 WebApiA 中的 Ninject.Web.Common 版本降级到 3.2.3
推荐阅读
- javascript - 有没有办法使用javascript将解压缩的扩展上传到chrome?
- cygwin - 意外标记'('附近的bash语法错误 -
- c++ - 为什么 tesseract 为日语赋予垃圾价值?
- r - 如何计算R中列中不规则选择数据的平均值
- wordpress - 通过docker compose运行时如何将wordpress wp-content文件夹存储在本地机器中
- javascript - 使用 Dom 元素的字符数
- r - 如何在 auto.arima 中使用外部回归器获得合适的模型
- vba - Access Imports 语句触发编译错误
- c++ - 在 ECS 模型中,最合适的观察者容器是什么?
- button - AS2 - ActionScript2 - onPress 在动画剪辑子项上