asp.net – Ninject程序集与引用的程序集不匹配

前端之家收集整理的这篇文章主要介绍了asp.net – Ninject程序集与引用的程序集不匹配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
建立:

> 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,我的UnitTest项目引用了Ninject v2.2.1.4

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

问题:

随着win explorer在我的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,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = c7192dc5380945e7’或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配. (HRESULT异常:0x80131040)

是什么赋予了?

解决方法

一些想法:

>只有在您的调试版本中,您才有间接引用v2 Ninject版本.一个很好的例子,我猜你什么时候做您的调试版本在构建版本时构建Test项目不构建您的Test项目.>在构建时,您是否注意到当v2 DLL放入bin时正在构建的项目?那你就是能够弄清楚哪个项目引用了v2构建并且是能够缩小搜索范围(例如,如果不是Test项目,答案会变得更加明显).>在不同项目中引用多个版本绝不是一个好主意.>你看看你的Web.config和App.config引用指向了什么?

猜你在找的asp.Net相关文章