41

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

if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))

我得到下图所示的错误:( 来源:usf.eduSystem.Web.Helpers 错误

4

12 回答 12

25

听起来好像服务器上没有安装 MVC。

于 2014-01-13T10:15:38.143 回答
25

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

  1. 右键单击参考 System.Web.Helpers 并选择属性
  2. 将复制本地更改为真。
  3. 构建解决方案
于 2013-10-19T04:54:48.870 回答
19

包含在System.Web.Helpers.dll官方 Nuget 包Microsoft.AspNet.WebPages中。

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

于 2016-05-27T21:45:24.117 回答
16

我可以通过下载Microsoft Web Platform Installer、搜索 MVC 并安装“ASP.NET MVC3 (Visual Studio 2010) Released 4/11/2011”包来解决此问题。在安装之前关闭任何 Visual Studio 实例。

于 2014-10-09T15:22:10.697 回答
8

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

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

在此处输入图像描述

于 2016-11-03T20:12:30.933 回答
6

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

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

PM> Install-Package microsoft-web-helpers

在此之后 System.Web.Helpers 将出现在 References->Assemblies 下。从那里可以将“复制本地”属性更改为 True。

于 2016-06-01T19:30:52.623 回答
2

我使用 Manage NuGet Packages 添加了“Microsoft ASP.NET Razor”。

使用 Add References,由于某种原因,我只有 System.Web.Helpers 1.0.0 和 2.0.0 ......但没有 3.0.0。

于 2015-03-02T21:35:44.187 回答
2

我正在运行 VS 2015Preview,可以通过 NuGet 安装最新版本的 MVC 来解决该问题。

以防万一有人仍然遇到这个。

于 2015-02-23T20:37:50.777 回答
1

我在 IIS 8 中使用 WCF 服务时遇到了同样的问题。看看这个解决方案Deploying ASP.NET,它对我有用。

于 2014-02-12T17:26:08.837 回答
1

您的Web.config文件可能有问题。打开文件并找到<runtime></runtime>标签。修改MVC的版本。例如,MVC 3

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>
于 2015-10-14T18:23:42.573 回答
0

我遇到了这个问题并尝试了所有相同的方法来尝试解决它上面的答案都没有解决这个问题。我最终从另一个项目中手动复制了 dll 文件。将它放在项目/bin 文件夹中。我的几个扩展都有这个问题,我不确定是什么原因造成的。 添加到 /bin 文件夹的文件

于 2022-02-25T22:27:39.287 回答
0

添加正确版本的 MVC 后,添加了对 Microsoft Web Helper 的引用,但未添加 System.Web.Helper。将此手动添加到您的参考文献中。

于 2017-06-15T08:21:32.780 回答