C# Razor语法突出显示在VS 2012和MVC 5中不起作用
我正在Visual Studio 2013 RC中玩MVC 5 RC 1。效果很好 现在,我在VS 2012中将一个现有的MVC 4项目升级为MVC 5,方式与前面描述的相同 我还更改了web.config-请参阅“” 除了视图中Razor/C#代码的语法高亮显示之外,所有东西(构建、运行web应用程序,甚至intellisense)都能完美工作 我还在VS2013中创建的MVC5项目中进行了尝试。同样的结果。所以我假设VS 2012不“理解”新的组件C# Razor语法突出显示在VS 2012和MVC 5中不起作用,c#,razor,visual-studio-2012,visual-studio-2013,asp.net-mvc-5,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,方式与前面描述的相同 我还更改了web.config-请参阅“” 除了视图中Razor/C#代码的语法高亮显示之外,所有东西(构建、运行web应用程序,甚至intellisense)都能完美工作 我还在VS2013中创建的MVC5项目中进行了尝试。同样的结果。所以我假设VS 2012不“理解”新的组件 是否有任何已知的解决方法或想法可以恢复突出
是否有任何已知的解决方法或想法可以恢复突出显示?声称VS2012无法理解Razor 3,因此您(和我)必须升级到VS2013如果我在同一个项目中使用VS2013,我目前正在使用一种解决方法使IntelliSense在VS2012中工作(我假设这不会正常工作);b) 如果我尝试使用Razor 3功能): 将web.config更改为使用旧的
网页
版本:
<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()
- AspNetWebTools2013_1Setup.exe@~39MB
- WebToolsExtensionsVS.msi(适用于Visual Studio 2012标准版)@~21MB
- WebToolsExtensionsVWD.msi(适用于Visual Studio 2012免费“Web”版))@~21MB
- 我从微软开发者那里得到了这个答案:
VS 2012的MVC 5/Razor 3工具支持尚未发布。我们希望在11月中旬提供这种支持
因此,目前公认的答案是正确的,但我们可以计划很快在VS2012中提供这种支持。Microsoft发布了新版本的ASP.NET Web Tools for VS 2012。 安装后,语法高亮显示再次出现 安装VS 2012更新4是不够的 有一组脱机安装程序可用。脱机安装程序比Web平台工具调用程序(WebNode11Pack.exe@~114KB)更易于使用: 如果您需要脱机安装程序,请转到
主持人:这可能只是一个下载链接,但这解决了问题,它对我和投票作为答案的用户都有效。如果你要删除它,请提供一个原因,谢谢 在Microsoft平台安装程序中安装“ASP.NET和WebTools 2013.1 for Visual Studio 2012”对于我来说,我的问题是我的生成文件被输出到
bin
以外的目录。一旦我的文件被输出到bin
,我的语法高亮显示就会回来
解决此问题的一种方法是创建一个生成后操作,将项目根bin文件夹(相对于项目外部的筛选器)中的文件复制到目标目录
以下文章解释:
这是一个很好的解决方法-你有没有遇到任何副作用?@Andreas-目前为止没有任何副作用,但它还没有推广到其他开发人员,因此如果我发现任何问题,我会确保将它们添加到这个答案中。我注意到的第一个缺点(不知道它第一次是如何跳过我的)添加到了答案中。。。使解决方案变得毫无用处,但由于我现在坚持使用MVC5,它仍然比没有好。我今天安装了VS2012更新4,但它还没有修复。我向Microsoft发送了一封电子邮件,他们说支持仍在使用中,尚未发布。不幸的是,他们没有说任何更具体的话:(我现在使用的是VS2013。这次似乎VS2012和VS2013之间的往返运行正常,我的所有加载项都正常或更好。使用VS2013和VS2012的初期问题尚未发现,所以我留下来。没有理由再使用VS2012了。@cirrus您必须另外安装您完全正确。我是also有点困惑,为什么你的答案突然消失了。这就是我自己提供链接作为答案的原因。但是信用是你的!谢谢@Andreas,希望它不会再次被删除:)向下投票者,请添加评论。我的回答在提出时是有效的,但从那时起MS增加了对VS 2012的支持,因此现在有点过时。但是,我认为没有必要将其更新为与C Stylec发布的文本相同的有效文本。这并没有为我解决问题。我已经安装了新版本的Web工具,但Razor语法仍然不起作用。有什么想法吗?和这里的Simon Hartcher一样。我已经安装了所有的工具并检查了web.config文件,但仍然很不走运。你能提供更多关于你的设置的详细信息吗?这对我来说语法有些有用,但所有内容都用红色下划线。例如,即使是ViewBag也用下划线表示,“当前上下文中不存在名称'ViewBag'。从'Bin'重命名为'Bin'对我有帮助