8

在 Visual Studio 2012(使用 Ctrl + K + D)中格式化 Razor cshtml 文件的代码时,如果模型是泛型类型,VS 会将其全部小写。例如:

@model IEnumerable<Content>

转换为(考虑所有小写内容):

@model IEnumerable<content>

格式化后。这会导致代码无法编译。这是一个错误还是我错过了什么?如何修复?

4

3 回答 3

11

此问题来自 Visual Studio 2012 未将其识别为剃刀代码并将其视为常规 HTML。我相信这是 VS 2012 的一个错误,希望很快得到修复。作为临时修复,您可以执行以下操作:

  1. 转到工具 -> 选项
  2. 选择文本编辑器 -> HTML -> 格式
  3. 将客户标签下拉菜单设置为“输入时”

希望这可以帮助。

于 2012-10-02T16:01:43.637 回答
2

如果这是 VS 2012 中的新项目,则需要在主文件的<appSettings>部分中添加这行代码:web.config

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

如果这是一个预先存在的项目,您的web.config. 确保它适用于版本1.0.0.0而不是 2.X 或 1.2.X

还要确保您的项目引用System.Web.WebPages是针对版本1.0.0.0而不是2.0.0.0

进行这些更改后,您必须关闭并重新打开 Visual Studio 2012!

于 2012-10-02T16:37:21.650 回答
0

以下内容适用于Visual Studio Professional 2012、ASP.NET MVC 5 和 Microsoft.System.Web.WebPages 3.0

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

但是这个解决方案并没有立即奏效

起初,Chris Haddox 的解决方案是webpages:Version

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

对我不起作用,我已经有了这个密钥,它被设置为 1.0.0.0。

但由于我使用的是Visual Studio Professional 2012、ASP.NET MVC 5 和 Microsoft.System.Web.WebPages 3.0 ...

这个问题显示我的 Web.Configwebpages:Version设置为1.0.0.0,我将其更改为,3.0.0.0因为我在另一篇文章中阅读了可能对 Microsoft.System.Web.WebPages 3.0 正确的文章,但我仍然有一段时间的格式错误。

我继续对我的 .cshtml 文件进行编辑。然后,所有突然的格式化开始正常工作。也许来自构建,但我不认为我确实做了构建,但不能确定,而且我知道我没有重新启动 Visual Studio 2012。

于 2015-12-05T00:47:08.703 回答