Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor语法突出显示在VS 2012和MVC 5中不起作用_C#_Razor_Visual Studio 2012_Visual Studio 2013_Asp.net Mvc 5 - Fatal编程技术网

C# Razor语法突出显示在VS 2012和MVC 5中不起作用

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不“理解”新的组件 是否有任何已知的解决方法或想法可以恢复突出

我正在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()
    不被识别,并在设计器中显示为错误)

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

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


      因此,目前公认的答案是正确的,但我们可以计划很快在VS2012中提供这种支持。

      Microsoft发布了新版本的ASP.NET Web Tools for VS 2012。 安装后,语法高亮显示再次出现

      安装VS 2012更新4是不够的

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

      如果您需要脱机安装程序,请转到

      • AspNetWebTools2013_1Setup.exe@~39MB
      • WebToolsExtensionsVS.msi(适用于Visual Studio 2012标准版)@~21MB
      • WebToolsExtensionsVWD.msi(适用于Visual Studio 2012免费“Web”版))@~21MB

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

      这个版本带来了大量的改进,包括 对ASP.NET MVC 5、Web API 2、脚手架和 Visual Studio 2012和Visual Studio 2012用户的实体框架 网络快车

      您可以下载更新:


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

      在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'对我有帮助