如果在Visual Studio 2012(使用Ctrl + K + D)中格式化代碼Razor cshtml文件(如果模型是泛型類型),則VS使其全部爲小寫。例如:CSHTML上的Visual Studio 2012代碼格式降低了通用模型類型
@model IEnumerable<Content>
轉換爲(考慮全部小寫內容):
@model IEnumerable<content>
格式化後
。這會導致代碼不能編譯。這是一個錯誤還是我錯過了什麼?如何修復?
如果在Visual Studio 2012(使用Ctrl + K + D)中格式化代碼Razor cshtml文件(如果模型是泛型類型),則VS使其全部爲小寫。例如:CSHTML上的Visual Studio 2012代碼格式降低了通用模型類型
@model IEnumerable<Content>
轉換爲(考慮全部小寫內容):
@model IEnumerable<content>
格式化後
。這會導致代碼不能編譯。這是一個錯誤還是我錯過了什麼?如何修復?
此問題來自Visual Studio 2012,不會將其識別爲剃鬚刀代碼並將其視爲常規HTML。我相信這是VS 2012的一個錯誤,希望能很快得到解決。作爲一個臨時的解決辦法,你可以這樣做:
希望這會有所幫助。
如果這是一個新的項目在VS 2012,你需要添加這行代碼在主web.config
文件您<appSettings>
部分:
<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!
我給出的最後一個答案更多的是解決真正的問題。 –
如果您使用WebPages 2.0.0.0,該怎麼辦? MVC4? – ysrb
我的下面的其他解決方案應該做的伎倆。您必須將客戶端標籤的格式設置爲輸入。只需記住讓參數小寫以符合CSS標準,因爲Ctrl + K + D不會再自動將它們變成小寫。 –
以下爲我工作與的Visual Studio 2012專業版,ASP.NET MVC 5和Microsoft.System.Web.WebPages 3.0:
<add key="webpages:Version" value="3.0.0.0" />
但這種方法並沒有馬上工作
起初,克里斯Haddox的解決方案有關webpages:Version
:
<add key="webpages:Version" value="1.0.0.0"/>
沒有爲我工作,我已經有了這個鍵,它被設置爲1.0.0.0。
但自從我使用的Visual Studio 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.
已提交的錯誤http://aspnetwebstack.codeplex.com/工作項/ 828。只是趕上它。 – lorond
這仍然發生在VS 2013上:雖然設置「HTML - >格式 - >輸入」將保留套管源將仍然無法縮進。 – springy76