Asp.net mvc 在mvc 5项目中安装ninject mvc 3后的问题

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

我已经创建了新的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,区域性=中性, 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>