无法加载文件或程序集'Ninject版本4.0.0.0

问题描述 投票:0回答:1

程序集引用存在问题,更新nuget程序包时发生了猜测。

我从一个不依赖于大多数依赖项(拓扑排序)的项目开始重新安装所有nuget包并增加nuspec文件中的版本以及引用packages.config 3.2.2.0的所有Ninject文件

<package id="Ninject" version="3.2.2.0" targetFramework="net462" />
<package id="Ninject.Extensions.Conventions" version="3.2.0.0" targetFramework="net462" />

但不起作用。

运行单元测试时仍然出错,似乎是一个引用其他版本的Ninject的程序集

单元测试失败:

消息:System.IO.FileLoadException:无法加载文件或程序集'Ninject,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = c7192dc5380945e7'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)---- System.IO.FileLoadException:无法加载文件或程序集'Ninject,Version = 3.2.0.0,Culture = neutral,PublicKeyToken = c7192dc5380945e7'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

如何获得更多有关此信息(谁正在调用版本4.0.0.0或3.2.0.0)或修复此问题?

提前致谢。

c# version-control nuget ninject .net-assembly
1个回答
0
投票

我有同样的问题。我试图编辑我的项目文件来检查我的依赖版本,但它没关系。

我还尝试编辑我的web.config文件,因为依赖版本在那里:

enter image description here

最后,我做了以下几点:

  • 在Nuget Package Manager中卸载所有Ninject包。
  • 删除web.config文件中的所有Ninject dependentAssembly节点。
  • 然后重新安装我以前的Ninject包。

在此之后一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.