could not load file or assembly "System.Web.Mvc...

时间:2023-11-13 19:42:08

1.一般出现这个错误是因为Web.Config里面的版本号跟project用到的dll版本对应不上

更改webconfig

<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

或者直接把对应版本dll copy到web application folder 下面的bin



PublicKeyToken可以使用sn -T命令得知

使用vs的Tools Command Prompt命令行工具,输入SN -T "path",就会显示这个dll 的PublicKeyToken。

比如:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>SN -T "D:\documents\visual studio 2012\Projects\VirtualLabMVC\VirtualLabMVC\bin\DotNetOpenAuth.AspNet.dll"。



2.那如果发现Web.Config里面根本没有assembly的声明,只是引用了命名空间

<pages>

     <namespaces>

       <add namespace="System.Web.Helpers" />

       <add namespace="System.Web.Mvc" />

       <add namespace="System.Web.Mvc.Ajax" />

       <add namespace="System.Web.Mvc.Html" />

       <add namespace="System.Web.Optimization" />

       <add namespace="System.Web.Routing" />

       <add namespace="System.Web.WebPages" />

     </namespaces>

   </pages>

查找下该server有没有装MVC4

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Web.Mvc

如果没有,则安装

could not load file or assembly "System.Web.Mvc...



3.上面的都可以了,发现还不行,可能是另一個原因,將Specific Version改為false

could not load file or assembly "System.Web.Mvc...