在 Visual Studio 2012(使用 Ctrl + K + D)中格式化 Razor cshtml 文件的代码时,如果模型是泛型类型,VS 会将其全部小写。例如:
@model IEnumerable<Content>
转换为(考虑所有小写内容):
@model IEnumerable<content>
格式化后。这会导致代码无法编译。这是一个错误还是我错过了什么?如何修复?
在 Visual Studio 2012(使用 Ctrl + K + D)中格式化 Razor cshtml 文件的代码时,如果模型是泛型类型,VS 会将其全部小写。例如:
@model IEnumerable<Content>
转换为(考虑所有小写内容):
@model IEnumerable<content>
格式化后。这会导致代码无法编译。这是一个错误还是我错过了什么?如何修复?
此问题来自 Visual Studio 2012 未将其识别为剃刀代码并将其视为常规 HTML。我相信这是 VS 2012 的一个错误,希望很快得到修复。作为临时修复,您可以执行以下操作:
希望这可以帮助。
如果这是 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!
以下内容适用于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。