47

我在 Visual Studio 2013 RC 中使用 MVC 5 RC 1。效果很好。

现在,我将 VS 2012 中的现有 MVC 4 项目升级到 MVC 5,方式与此处所述相同

我还更改了 web.config(s) - 请参阅“从 MVC4 升级到 MVC5

除了视图中 Razor/C# 代码的语法高亮外,一切(构建、运行 Web 应用程序,甚至是智能感知)都能完美运行。

我还尝试了在 VS 2013 中创建的 MVC 5 项目。结果相同。所以我假设 VS 2012 不“理解”新程序集?!

有什么已知的解决方法或想法可以重新突出显示吗?

4

7 回答 7

75

微软为 VS 2012 发布了新版本的 ASP.NET Web 工具。安装后语法高亮又回来了。

http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012。 aspx

安装 VS 2012 Update 4 是不够的。

一组离线安装程序可用。离线安装程序比 Web 平台工具调用程序 (WebNode11Pack.exe @ ~114KB) 更易于使用:

如果您想要离线安装程序,请转到http://www.microsoft.com/en-us/download/details.aspx?id=41532

  • AspNetWebTools2013_1Setup.exe @ ~39MB
  • WebToolsExtensionsVS.msi(适用于 Visual Studio 2012标准版[s])@ ~21MB
  • WebToolsExtensionsVWD.msi(适用于 Visual Studio 2012免费“Web”版[s])@ ~21MB
于 2013-11-19T09:58:04.193 回答
16

Visual Studio 2012 的 ASP.NET 和 Web 工具 2013.1 现已发布,应该可以解决 VS 2012 的 MVC5 智能感知问题。

此版本带来了大量重大改进,包括对 Visual Studio 2012 和 Visual Studio 2012 Express for Web 用户的 ASP.NET MVC 5、Web API 2、脚手架和实体框架的一些出色增强。

您可以下载更新:http: //blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-视觉工作室 2012.aspx

致主持人:这可能只是一个下载链接,但这解决了问题,它对我有用,它对投票作为答案的用户有用。如果您要删除它,请说明原因,谢谢!

于 2013-11-19T13:17:21.650 回答
9

这个答案声称VS2012无法理解Razor 3,所以你(和我)将不得不升级到VS2013

于 2013-10-18T09:28:57.473 回答
6

如果我将 VS2013 用于同一个项目,我目前正在使用一种解决方法来让 IntelliSense 在 VS2012 中工作(我认为这将无法正常工作);b)如果我尝试使用 Razor 3 功能):

更改 web.config 以使用旧webpages版本:

<add key="webpages:Version" value="2.0.0.0" />

为了确保这不会以任何方式影响生产,我添加了一个 web.config 转换:

<add key="webpages:Version" value="3.0.0.0" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />

不幸的是,这种解决方法存在问题(到目前为止我已经注意到):

  • 扩展方法(例如Html.RenderPartial()无法识别并在设计器中显示为错误)。
于 2013-10-22T11:36:47.280 回答
6

我从 Microsoft 开发人员那里得到了这个答案:

VS 2012 的 MVC 5/Razor 3 工具支持尚未发布。我们希望在 11 月中旬提供此支持。

所以现在接受的答案是正确的,但我们可以计划很快在 VS2012 中也有这种支持。

于 2013-10-24T08:07:03.590 回答
3

在 Microsoft 平台安装程序中安装“ASP.NET 和 WebTools 2013.1 for Visual Studio 2012”

于 2013-12-31T07:28:25.430 回答
1

对我来说,我的问题是我的构建文件被输出到bin. 一旦我的文件输出到bin,我的语法高亮就回来了。

解决此问题的一种方法是创建一个构建后操作,该操作将项目根目录 bin 文件夹中的文件(相对于项目外部的过滤器)复制到目标目录。

以下文章解释: http: //www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013/

于 2015-07-01T17:10:09.803 回答