Razor CSHTML小写通用模型类型上的Visual Studio 2012代码格式
如果模型是泛型类型,则在Visual Studio 2012中格式化Razor cshtml文件时(使用Ctrl+K+D),VS会使其全部为小写。例如:Razor CSHTML小写通用模型类型上的Visual Studio 2012代码格式,razor,visual-studio-2012,code-formatting,Razor,Visual Studio 2012,Code Formatting,如果模型是泛型类型,则在Visual Studio 2012中格式化Razor cshtml文件时(使用Ctrl+K+D),VS会使其全部为小写。例如: @model IEnumerable<Content> @model IEnumerable 转换为(考虑所有小写内容): @model IEnumerable 格式化后。这会导致代码无法编译。这是虫子还是我遗漏了什么?如何修复它?此问题来自Visual Studio 2012,它没有将其识别为razor代码,而是将其视为常规
@model IEnumerable<Content>
@model IEnumerable
转换为(考虑所有小写内容):
@model IEnumerable
格式化后。这会导致代码无法编译。这是虫子还是我遗漏了什么?如何修复它?此问题来自Visual Studio 2012,它没有将其识别为razor代码,而是将其视为常规HTML。我相信这是VS 2012的一个bug,希望很快就能修复。作为临时修复,您可以执行以下操作:
希望这有帮助。如果这是VS 2012中的一个新项目,您需要在主
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
而不是2.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" />
对我不起作用,我已经有了这把钥匙,它被设置为1.0.0.0
但由于我使用的是Visual Studio Professional 2012、ASP.NET MVC 5和Microsoft.System.Web.WebPages 3.0
这个问题告诉我,我的Web.Configwebpages:Version
被设置为1.0.0
,我把它改为3.0.0.0
,因为我在另一篇文章中读到了可能适用于Microsoft.System.Web.webpages 3.0的内容,并且我还有一段时间的格式错误
我继续编辑我的.cshtml文件。然后,所有的格式化突然开始正常工作。可能来自构建,但我不认为我确实进行了构建,但不能确定,我知道我没有重新启动Visual Studio 2012。我给出的最后一个答案更像是解决实际问题的拐杖。如果您使用的是网页2.0.0.0怎么办?MVC4?我下面的另一个解决方案应该可以解决这个问题。必须将客户端标记的格式设置为输入的格式。只要记住将参数保持小写,以符合CSS标准,因为Ctrl+K+D将不再自动将它们变为小写。这在VS 2013中仍然会发生:虽然设置“HTML->Formatting->As entered”(HTML->Formatting->As entered)将保留大小写,但源代码仍然会不必要地缩进。
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Version" value="1.0.0.0"/>