我该在哪里找到 System.Web.Helpers、System.Web.WebPages 和 System.Web.Razor?

90
我正在关注这篇有关RazorGenerator的文章,它指出我必须添加对以下内容的引用:
  • System.Web.Helpers.dll
  • System.Web.WebPages.dll
  • System.Web.Razor.dll
当我使用 Add Reference 时,唯一能看到的是 System.Web.Razor,但我不知道其他的在哪里。

可能是重复问题:在VS2015中找不到System.Web.Helpers - jmbmage
12个回答

33
你可以在 Visual Studio 2010、2012 和 2013(参考管理器)中的“程序集”下的“扩展”组中找到这些程序集。请注意保留原文的 HTML 标签。

2
我相信问题是关于Visual Studio 2010的(看标签)。 - AaA
25
不,我在扩展中没有找到这些程序集(VS 2015,MVC 4,.NET 4.5.2)。 - RJB
4
我认为它们现在是Microsoft.AspNet.WebPages的一部分(这取决于Microsoft.AspNet.Razor,对于其中一些命名空间也是必需的)。 - Ofer Zelig

23
总结来说,对于VS 2017的所有选项,在之前安装Visual Studio的版本中安装MVC时,会安装WebHelpers。如果您遇到此错误,可能不再安装较旧的VS版本了。
因此,安装Microsoft.AspNet.MVC NuGet程序包将需要Microsoft.AspNet.WebPages和Microsoft.AspNet.Razor,而Microsoft.AspNet.WebPages包括System.Web.Helpers.dll。
如果您直接引用了System.Web.Mvc.dll,并且不想使用NuGet进行MVC,则可以获取Microsoft.AspNet.WebPages NuGet,或者有一些其他只包含System.Web.Helpers.dll的NuGet程序包,如microsoft-web-helpers或System-Web-Helpers.dll程序包。
看起来有两个版本的System.Web.Helpers.dll,一个是.Net 4.0的,另一个是4.5的。选择正确的MVC或AspNet.WebPages版本将确保您获得正确的版本。

System.Web.Helpers.dll 是最新的 System-Web-Helpers.dll NuGet 包中的工具,可以与 VS 2017 兼容。它只包含 System.Web.Helpers.dll 。仅此而已。 - Debbie A

17

关于VS2017,我在“扩展”中没有找到它,但有一个名为“microsoft-web-helpers”的Nuget包,似乎等同于System.Web.Helpers。


16

我曾经遇到同样的问题,一开始在 .NET 组件 列表中无法找到那些 dlls。但后来我想出了解决方法:

1- 首先,我将 目标框架.NET framework 4 client profile 改为 .NET framework 4

2- 然后向下滚动 .NET 组件列表,越过第一个 system.web... 列表,再滚动至底部,你会找到 第二个 system.web... 列表,它们就在那里。

希望这能帮助其他人。


11
在Visual Studio 2012中,查看左侧的“扩展”筛选器,如下面的评论所述 - 以防您没有读到那里(就像我一样)。 - EnocNRoll - AnandaGopal Pardue
“通过第一个列表”是什么意思?只有一个列表,可以按组件名称进行排序!你指的是哪个名称?要查看这些DLL,必须安装MVC3,并且如果您的计算机上没有IIS,则无法安装。 - AaA

13
在VS 2010中,只需右键单击项目或参考,然后单击添加引用。在弹出的窗口上选择程序集->扩展->System.Web.Helpers。

3
Visual Studio 2010没有"选择程序集"或"扩展"等功能。你提到的是Visual Studio 2012及以上版本。 - AaA
对于VS 2010,选择项目引用->添加引用->.NET选项卡->单击组件名称以组织列表->应该看到system.web.helpers。 - eaglei22
1
在“选择程序集”->“扩展”下,System.Web.Helpers不存在。 - Casey Crookston

12

这里安装 ASP.NET MVC3 应该会有所帮助。


1
我认为MVC3不会有所帮助。这是我对MVC3项目的参考:http://i.imgur.com/414j8.png。我也没有它们。 - Ron Sijm
谢谢,这是我的问题的根本原因。 - Coxy

8

这个特定的 NuGet 包有失去在我们一个项目中的引用的习惯。不时我需要在包管理器控制台中运行以下命令来恢复引用,然后一切都正常了。

Update-Package Microsoft.AspNet.Webpages -reinstall

6
在VS2017上,我安装了NuGet包:Microsoft.AspNet.WebPages。这就解决了问题。

5

我必须安装RazorGenerator.Templating才能使所有内容正常工作。在NuGet控制台中输入以下命令:

Install-Package RazorGenerator.Templating


4

问题是缺少或过时的MVC版本。我使用VS 2015 Preview,通过在NuGet上安装最新版本的MVC来解决了这个问题。

以防万一,如果还有人遇到这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接