如果model是泛型类型,则在Visual Studio 2012中使用Ctrl + K + D格式化代码时,VS会使其全部为小写。例如:
@model IEnumerable<Content>
转换为(考虑所有小写内容):
@model IEnumerable<content>
格式化后。这导致代码无法编译。这是一个错误还是我错过了什么?如何解决?
答案 0 :(得分:11)
此问题来自Visual Studio 2012,并未将其识别为剃刀代码并将其视为常规HTML。我相信这是VS 2012的一个错误,希望很快得到解决。作为临时修复,您可以这样做:
希望这有帮助。
答案 1 :(得分: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
同时确保您对[{1}}的项目引用适用于版本System.Web.WebPages
,而不是1.0.0.0
进行这些更改后,您必须关闭并重新打开Visual Studio 2012!
答案 2 :(得分: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.Config webpages:Version
已设置为1.0.0.0
,我将其更改为3.0.0.0
,因为我在另一篇文章中读到可能对Microsoft.System正确的内容。 Web.WebPages 3.0和我还有一段时间的格式化错误。
我继续编辑我的.cshtml文件。然后,所有突然格式化开始正常工作。也许是从构建,但我不认为我做了一个构建,但不能确定,我知道我没有重新启动Visual Studio 2012。