2011-04-14 42 views
58

有沒有一種方法可以讓Visual Studio(我使用2010)在構建過程中在剃鬚刀視圖中查找錯誤,就像C#項目中的其他代碼一樣?在構建過程中檢查剃鬚刀錯誤

這只是一個痛苦,你可以檢查你的代碼中的任何錯誤,並認爲一切都很好,但似乎你不能確定的意見,除非你通過每一個。

順便說一句我明顯不在我的意見代碼 - 我只是談論HTML或URL擴展方法例如。

+5

我會認爲這將工作完全一樣:http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc – Will 2011-04-14 17:59:07

+0

輝煌,非常感謝! – isNaN1247 2011-04-14 18:16:02

回答

86

嘗試設置MVCBuildViews到真正的項目中的文件(即編輯的csproj文件)

<MvcBuildViews>true</MvcBuildViews> 
+0

給予意願+1以便首先進入 - 感謝您澄清解決方案以便快速參考。標記爲答案。 – isNaN1247 2011-04-14 18:14:55

+0

@beardtwizzle:你也可以+ JP。這是MVC的一個新特性(我相信2),我完全忘記了(這絕對是更好的答案)。 – Will 2011-04-14 18:17:26

+0

@遺憾的是+ JP當之無愧:) – isNaN1247 2011-04-14 18:57:14

10

大廈的美景需要一段時間和額外的10+秒做調試版本可以得到惱人的快,所以我通常只在發佈類型構建配置上將MvcBuildViews設置爲true。 這樣,如果您有構建服務器,它會爲您捕獲錯誤,或者您可以手動運行發佈版本,然後檢查您的視圖。

我不認爲順序對於PropertyGroup元素很重要,但是對於一個更完整的例子,我包含了MvcBuildViews元素上下的元素。

<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    ... 
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> 
    <MvcBuildViews>false</MvcBuildViews> 
    <UseIISExpress>false</UseIISExpress> 
    ... 
</PropertyGroup> 

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    ... 
    <ErrorReport>prompt</ErrorReport> 
    <MvcBuildViews>true</MvcBuildViews> 
    <WarningLevel>4</WarningLevel> 
    ... 
</PropertyGroup> 

在頂部的PropertyGroup的MvcBuildViews元件是由VS上創建項目添加時,生成配置特定的一個(底部的PropertyGroup)1加入手動

+0

我無法獲得這個工作 - 標籤還沒有那裏,我不得不手動添加它們(如果這是相關的)。我的視圖有很多錯誤,並且構建不會在任何配置中捕獲它們。 – niico 2017-11-07 19:20:37

0

嘗試添加在模式編輯項目的以下組件:System.Core程序,根據代碼:

... 
<Reference Include="System.Core, Version=4.0.0.0" /> 
<Reference Include="System.Net.Http" /> 
<Reference Include="System.Net.Http.WebRequest" /> 
... 

有時這種彙編不能正確裝載機,我的情況下,它的工作!