例外 - 无法加载文件或程序集'System.Web.Mvc,Version = 4.0.0.1 ...'

Tan*_*ova 16 asp.net-mvc

有一个问题 - 只有当我请求一个控制器时 - 我才得到异常:

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

这很奇怪,因为在我的配置文件中,我看到版本是4.0.0.0并且所有其他控制器都很好,只有当我在服务器上传应用程序时才会发生这种情况.

sta*_*ain 20

这是一个已知的问题.似乎您最近已从3.0迁移到4.0,或者此应用程序是来自存储库的新克隆.单个控制器可能没有nuget恢复.我也遇到过这个问题.我有这个msdn 链接,浏览它有一个解决方案.以下是提到的步骤.

可以通过实现以下解决方案之一来解决此问题:

  1. (首选)从NuGet库安装Microsoft.AspNet.Mvc(这将在您的web.config中安装绑定重定向).您可以从NuGet包管理器或Visual Studio内的NuGet控制台执行此操作:

    安装包Microsoft.AspNet.Mvc -Version -Project PROJECTNAME

    MVC 4版本:4.0.40804.0

    MVC 3版本:3.0.50813.1

  2. 手动更新对System.Web.MVC.dll的引用(不要使用GAC中的引用).

    尝试添加引用 - >程序集 - >扩展对话框.

在任何一种情况下,请确保程序集的"复制本地"项目属性设置为true,以使其最终位于部署所需的bin文件夹中.有一个已知的NuGet错误可以重置Copy Local标志:https://nuget.codeplex.com/workitem/4344

为所有项目引用System.Web.Mvc dll安装Nuget包Microsoft.AspNet.Mvc 希望这可以解决您的问题