无法加载文件或程序集“ Ninject”

时间:2019-06-07 13:21:50

标签: c# asp.net ninject package-managers

我通过程序包管理器控制台安装了Ninject程序包:

install-package Ninject.Mvc5
install-package Ninject.Web.WebApi

因为我没有指定版本,所以我安装了该软件包及其依赖项的最新可用版本( 3.3.0 )。
除了其他方面,它还安装了 Ninject 3.3.3

然后我意识到我需要版本 3.2.1.0 ,所以我将Ninject.Mvc5和Ninject.Web.WebApi版本3.3.0及其所有依赖项都释放了(在卸载过程后github显示0项更改)并安装了版本3.2.1.0。 Ninject 与之相对应的是版本 3.2.0

因此,当我运行应用程序时,出现以下错误: “ 无法加载文件或程序集' Ninject 版本= 3.3.3.0 ,Culture = neutral,PublicKeyToken = c7192dc5380945e7”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x80131040)“

我通过 ildasm 检查了程序集的清单定义,但没有对Ninject 3.3.3的引用。所有参考均参考Ninject 3.2.0。 同样在 .csproj packages.config bin 文件夹中,Ninject版本是3.2.0。

我能够使用Web.config解决此问题:

 <dependentAssembly>
    <assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
    <bindingRedirect oldVersion="3.3.3.0" newVersion="3.2.0.0" />
  </dependentAssembly>

但是显然,仍然有一个地方引用了已删除的 Ninject 3.3.3 版本。那个地方在哪里,有人可以弄清楚吗?

0 个答案:

没有答案