Asp.net mvc 在mvc 5项目中安装ninject mvc 3后的问题
我已经创建了新的asp mvc 5项目。Asp.net mvc 在mvc 5项目中安装ninject mvc 3后的问题,asp.net-mvc,ninject,asp.net-mvc-5,ninject.web.mvc,Asp.net Mvc,Ninject,Asp.net Mvc 5,Ninject.web.mvc,我已经创建了新的asp mvc 5项目。 项目目标.NET 4.5。 我安装了ninject mvc 3 nuget软件包。 但是当我运行project时,我在NinjectWebCommon.cs的CreateKernel()方法中得到了这个错误: 中发生类型为“System.IO.FileLoadException”的异常 Ninject.dll,但未在用户代码中处理 其他信息:无法加载文件或程序集 'System.Web.Mvc,版本=3.0.0.0,区域性=中性, PublicKeyTo
项目目标.NET 4.5。
我安装了ninject mvc 3 nuget软件包。 但是当我运行project时,我在
NinjectWebCommon.cs
的CreateKernel()方法中得到了这个错误:
中发生类型为“System.IO.FileLoadException”的异常
Ninject.dll,但未在用户代码中处理
其他信息:无法加载文件或程序集
'System.Web.Mvc,版本=3.0.0.0,区域性=中性,
PublicKeyToken=31bf3856ad364e35'或其依赖项之一。这个
定位程序集的清单定义与程序集不匹配
参考资料。(来自HRESULT的异常:0x8013100)
出现此错误是因为Ninject.MVC assebly正在引用旧版本的ASP.NET MVC程序集。因为它是强类型的,所以必须通知应用程序使用较新的程序集。这就是默认项目模板中的web.config文件包含以下运行时部分的原因:
<runtime>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</runtime>
.请确保将其包含在应用程序网络配置文件中
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
e、 g
为什么不安装Ninject.MVC5?我已经创建了一个新项目并安装了Ninject.MVC5
,它可以正常工作。但在我犯了错误的项目中,我删除了所有ninject文件并安装了ninject.MVC5
,但也出现了同样的错误。你认为我该怎么做才能清理这个项目?我已尝试重新生成整个解决方案,但仍然是一样的。@1110您必须依赖Web.config中System.Web.Mvc的程序集条目吗?否。但我现在添加了它,出现错误:无法加载文件或程序集“System.Web.Mvc”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(HRESULT的例外:0x8013100)
@1110您的项目中System.Web.Mvc包的版本是什么?在packages.config文件中查找。5.0.0.0是System.Web.Mvc版本。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>