无法加载文件或程序集"System.Web.Mvc,Version = 3.0.0.0"或其依赖项之一

Dan*_*ick 21 c# asp.net-mvc ninject

我在包管理器控制台中使用以下命令在MVC项目中添加Ninject:

Install-Package Ninject -version 3.0.1.10
Install-Package Ninject.Web.Common -version 3.0.0.7
Install-Package Ninject.MVC3 -Version 3.0.0.6
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我得到这样的错误:

无法加载文件或程序集'System.Web.Mvc,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

小智 16

更新应用程序web.config文件

请务必在app web.config文件中进行这些更改,而不是在Views文件夹中进行web.config文件.

 <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>
Run Code Online (Sandbox Code Playgroud)

  • 我不知何故有这个问题.我必须更新MVC NuGet包,最终得到不匹配的版本. (2认同)

mih*_*hai 7

如果您正在关注Pro ASP.NET MVC 5,请按照以下步骤解决此问题:

  1. 在VS的项目树中,右键单击References并转到Manage NuGet Packages.
  2. 转到Online,nuget.org然后搜索ninject.
  3. 安装Ninject,Ninject.Web.CommonNinject.MVC5(书上说的安装MVC3).
  4. Manage NuGet Packages菜单中(从步骤1开始),转到Updates,nuget.org.
  5. 特别是更新所有模块Microsoft ASP.NET MVC.