36

我以前遇到过这个问题,但是我需要做的就是清理和重建项目。现在这似乎不再起作用了。当我启动我的 Asp.Net MVC3 项目调试器时,该站点在我的浏览器中打开。我没有在浏览器中显示第一页,而是收到此错误:

Parser Error Message: Could not load file or assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Source Error: 
Line 31:         <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 32:         <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 33:         <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 34:       </assemblies>
Line 35:     </compilation>

我似乎无法弄清楚如何解决这个问题。任何想法?

4

7 回答 7

25

我的解决方案是转到我的服务器并在服务器上安装 Web Pages Version 2。

转到http://www.microsoft.com/en-us/download/details.aspx?id=34600

并下载软件包并运行它。

就这么简单。

于 2015-01-05T18:57:22.460 回答
19

我有这个问题。也许它发生在我在 MVC v3 之上安装 .NET MVC v4 时,不确定。

无论如何,我System.Web.WebPages从我的项目中删除了引用。然后在 Add Reference 对话框 .NET 选项卡中列出了两个 System.Web.WebPages 引用,一个版本 1.0.0.0 和一个 2.0.0.0。我确保添加 1.0.0.0 版本,因为那是缺少的版本。

在此处输入图像描述

于 2012-09-28T01:20:17.290 回答
13

为我工作:

  1. 工具 -> NuGet 包管理器 -> 管理解决方案的 NuGet 包

  2. 浏览

  3. 搜索“Microsoft.AspNet.WebPages”

  4. 确保解决方案中的所有项目都具有最新版本。

于 2016-10-19T10:44:21.397 回答
6

当我遇到这个问题时,我挠了挠头。最终,我注意到我的 web.config 的“运行时”部分中有以下部分。

<runtime>
 . . .
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
. . .
</runtime>

如您所见,这指的是程序集的版本 2,它与您在 web.config 的 system.web/compilation/assemblies 部分中的以下代码不匹配。

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

该项目的参考资料中引用的实际程序集确实是 v1.0.0.0,因此我将上面的第一段代码更改为以下代码,从而立即解决了问题。我不确定这个错误最初是如何出现的。

<runtime>
 . . .
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
      </dependentAssembly>
. . .
</runtime>
于 2013-01-10T10:58:37.470 回答
4

转到菜单:“工具/Nuget 包管理器/包管理器控制台”

运行命令install-package Microsoft.AspNet.WebPages

于 2017-03-21T06:52:07.263 回答
1

我遇到了这个问题,我所要做的就是更改外部引用的属性:从TrueFalse的特定版本

之后,项目再次构建。

于 2015-11-18T09:46:30.740 回答
0

我为 MVC5 获取了同样的问题。

首先从项目的参考中检查您的System.Web.WebPages程序集。

  1. 如果未找到,则通过从项目参考中选择添加参考来添加。
  2. 如果找到,则该引用的属性中的任何检查版本。然后检查您的项目web.config文件。可能是这两个版本不匹配。

对我来说,我添加了 2.0.0.0 版本的参考。但我的 web.config 文件从

<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />

我把它改成

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />

它在 MVC5 中对我有用。

请检查我附件中突出显示的部分以获得更多许可。

System.Web.WebPages

于 2017-01-30T11:01:53.840 回答