-->

Ninject组件不匹配,引用的程序集(Ninject assembly does not matc

2019-09-17 07:14发布

设定:

  • ASP.NET MVC3
  • Ninject v2.2.1.4
  • Ninject v3.0.0.15
  • Ninject.MVC3 v3.0.0.6
  • Ninject.Web.Common v3.0.0.7

使用的NuGet,我的单元测试项目引用Ninject v2.2.1.4

我的Web项目引用Ninject v3.0.0.15,Ninject.MVC3和Ninject.Web.Common

问题:

随着胜利探险家在我的web项目的bin文件夹打开,我建我的解决方案,我可以看到Ninject v2.2.1.4复制到我的web项目的bin目录。 然后由Ninject v3.0.0.15取代。

当我按F5调试,Ninject.dll v3.0.0.15被替换Ninject v2.2.1.4引起以下错误:

无法加载文件或程序集“Ninject,版本= 3.0.0.0,文化=中性公钥= c7192dc5380945e7”或它的一个依赖。 在位于集清单定义不匹配的程序集引用。 (从HRESULT异常:0x80131040)

是什么赋予了?

Answer 1:

一些想法:

  1. 只有在你的调试版本你有一个间接参照V2 Ninject版本。 典型的例子,当你正在做调试建立你建立你的测试项目,而发布版本不建立自己的测试项目中,我猜。
  2. 当你正在构建,并您发现时V2的DLL被放置在箱子被建造什么项目? 然后,你就可以找出项目引用V2构建,并能缩小搜寻范围(即答案将成为相当多的明显的,如果它是不是测试项目)。
  3. 从来没有一个好主意,引用不同项目的多个版本。
  4. 你看看你的Web.config文件和引用的App.config分别指向?


文章来源: Ninject assembly does not match referenced assembly