Razor语法突出显示无法在VS 2012中使用MVC 5

时间:2013-09-27 13:07:08

标签: c# razor visual-studio-2012 visual-studio-2013 asp.net-mvc-5

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

现在我将VS 2012中的现有MVC 4项目升级为MVC 5,方法与描述here相同

我还更改了web.config(s) - 请参阅“upgrading from MVC4 to MVC5

除了在视图中突出显示Razor / C#代码之外,所有内容(构建,运行Web应用程序,甚至智能感知)都能正常工作。

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

任何已知的解决方法或想法可以突出显示?

7 个答案:

答案 0 :(得分:75)

Microsoft发布了适用于VS 2012的新版ASP.NET Web Tools。 安装后语法突出显示又回来了。

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

答案 1 :(得分:16)

ASP.NET和Web Tools 2013.1 for Visual Studio 2012现已发布,应解决VS 2012的MVC5 intellisense问题。

  

此版本带来了大量改进,包括一些   ASP.NET MVC 5,Web API 2,Scaffolding和   Visual Studio 2012和Visual Studio 2012用户的实体框架   Express for 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

To Moderator:它可能只是一个下载链接,但这解决了这个问题,它对我有用,并且对于投票给这个答案的用户起了作用。如果您要删除它,请提供理由,谢谢!

答案 2 :(得分:9)

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

答案 3 :(得分:6)

我目前正在使用一种解决方法来使智能感知在VS2012中工作(我认为这不会正常工作)如果我在同一个项目中使用VS2013; 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(),并在设计器中显示为错误)。

答案 4 :(得分:6)

我从微软开发者那里得到了这个答案:

  

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

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

答案 5 :(得分:3)

在Microsoft Platform Installer中安装“ASP.NET和WebTools 2013.1 for Visual Studio 2012”

答案 6 :(得分:1)

对我来说,我的问题是我将构建文件输出到bin以外的目录。一旦我的文件输出到bin,我的语法高亮显示就会回来。

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

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