Asp.net
在 ASP.NET MVC 中編譯視圖
我想要一個 msbuild 任務來編譯視圖,這樣我就可以查看是否存在編譯時錯誤……編譯時。有任何想法嗎?
坦率地說,我會推薦RazorGenerator nuget 包。這樣,您的視圖會
.designer.cs在您保存它們時生成一個文件,並且除了為您的視圖獲取編譯時錯誤之外,它們還被預編譯到程序集中(= 更快的預熱),並且 Resharper 還提供了一些額外的幫助。要使用它,請在您的 ASP.NET MVC 項目中包含RazorGenerator nuget 包,並在****Tools → Extensions and Updates下的項目下安裝“ Razor Generator ”擴展。
我們使用它,並且使用這種方法每次編譯的成本要少得多。最重要的是,我可能會推薦**RedGate 的 .NET Demon,**它進一步大大減少了編譯時間的影響。
希望這可以幫助。
來自 RC1 的自述詞文件(未被 google 索引)
ASP.NET 編譯器建構後步驟
目前,視圖文件中的錯誤直到執行時才會被檢測到。為了讓您在編譯時檢測到這些錯誤,ASP.NET MVC 項目現在包含一個 MvcBuildViews 屬性,預設情況下該屬性是禁用的。要啟用此屬性,請打開項目文件並將 MvcBuildViews 屬性設置為 true,如下例所示:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <MvcBuildViews>true</MvcBuildViews> </PropertyGroup>注意 啟用此功能會增加建構時間的一些成本。
您可以通過執行以下步驟更新使用先前版本的 MVC 創建的項目以包括視圖的建構時驗證:
- 在文本編輯器中打開項目文件。
- 在最上面的元素下添加以下
<PropertyGroup>元素:<MvcBuildViews>true</MvcBuildViews>- 在項目文件的末尾,取消註釋
<Target Name="AfterBuild">元素並修改它以匹配以下內容:<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" /> </Target>