无法在IIS 8上加载文件或程序集'System.Web.Helpers,错误

Man*_*ish 41 c# asp.net iis asp.net-mvc-4

我有一个MVC4 Web应用程序,使用本地IIS Express服务器在Visual Studio 2012上正常工作.当我将应用程序发布到在Windows 2012上运行的IIS 8 Web服务器时,初始登录页面会正确显示.但是,使用远程调试,我看到当我使用以下行检查凭据时:

if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
Run Code Online (Sandbox Code Playgroud)

我收到如下图所示的错误: System.Web.Helpers error http://www.ismlab.usf.edu/capture.jpg

小智 25

解决方案 - 将引用复制到本地

  1. 右键单击引用System.Web.Helpers并选择Properties
  2. 将Copy Local更改为true.
  3. 构建解决方案


Gra*_*ght 23

好像MVC尚未安装在服务器上.

  • 确实,独立的asp.net mvc 4安装程序为我做了这个:http://www.microsoft.com/en-us/download/details.aspx?id = 30683 (7认同)

小智 19

System.Web.Helpers.dll被包括在官方的NuGet包Microsoft.AspNet.WebPages.

安装它并且应该更正引用,并且应该将文件复制到bin文件夹.


Geo*_*nez 14

我能够通过下载Microsoft Web Platform Installer,搜索MVC并安装"ASP.NET MVC3(Visual Studio 2010)发布的4/11/2011"软件包解决此问题.安装前关闭所有Visual Studio实例.

  • 这种方法对我和我的构建服务器也很有用.我使用Web平台安装程序安装了ASP.NET MVC 4,因为参考错误消失了. (2认同)

Dav*_*ave 7

确保它正在寻找文件的正确版本.我的不正确,web.config文件指向的版本比我在项目中的版本更高.

在我注意到的属性中,版本是2.0.0.0所以我在web.config文件中创建了这个版本

在此输入图像描述


Rud*_*ira 6

只是添加到现有的答案,因为我遇到了相同的错误,无法在程序集中找到引用.我将分享对我有帮助的东西:

从Tools-> NuGet Package Manager-> Package Manager Console打开包管理器,然后键入:

PM> Install-Package microsoft-web-helpers
Run Code Online (Sandbox Code Playgroud)

此System.Web.Helpers将出现在References-> Assemblies下.从那里'Copy local'属性可以更改为True.