2011-07-07 15 views
12

我知道這可以用MVC2來完成,但是有什麼辦法適用於Visual Studio(2010)/ ReSharper的(6)在編譯時檢查的aspx頁面錯誤,停止建設? Resharper可以很好地檢測錯誤,所以似乎應該有一種方法來將所有aspx頁面的檢查集成到構建過程中。ASP.net Web窗體,在編譯時獲取aspx/view錯誤?

任何提示?

回答

15

當然可以。以下步驟將導致.aspx文件被編譯爲由IDE調用的正常內置程序的一部分,不需要Resharper插件。

  • 卸載您的Web應用程序(右鍵單擊該項目,然後選擇「卸載項目」)
  • 在文本編輯器中的.csproj文件(右鍵單擊該項目,並選擇「編輯myProjectName.csproj」)
  • 在文件的底部找到該說的意見「修改您的構建過程......」並插入後評論如下:

<Target Name="AfterBuild"><AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" /></Target>

源 - Compile Aspx pages at compile time using the AspNetCompiler build task

+0

這突出一個奇怪的依賴問題上運行你的觀點建立的Visual Studio之外,但仍然是一個方法,所以如果我不能確認其工作尚未。看起來很有希望,雖然,將發佈狀態更新中位 – jdc0589

+0

<目標名稱= 「AfterBuild」> \t

+0

喜Justin和@DanaBenson這一步肯定會突出錯誤,但它仍然說「重建所有成功」,可能是因爲它是一個後編譯步驟......所以,我認爲沒有什麼可以進行編譯,對嗎? –

1

你可能不希望在編譯時要做到這一點,因爲編譯看法是慢...

你真正想要做的是有南特(或別的東西)的任務,將在編譯CI服務器上的源代碼之前,XML會將此目標戳到您的web .csproj文件中。

通過這種方式,您的開發人員不必每次在Visual Studio中本地執行CTRL + SHIFT + B時​​都會浪費AspNetCompiler的時間,但仍可以提醒用戶在CI上有語法錯誤服務器通過失敗CI構建。

更新:這裏是將本地PC :)

http://www.luisrocha.net/2011/10/avoiding-mvcbuildviews-build-time.html

+0

雖然你在這方面是正確的(特別是在大型項目上),但是這會降低構建速度,所以能夠以某種方式內聯這一點很好,這樣開發人員可以將更大的變更集推送到CI服務器,以便在發送之前進行檢查以確保它建立。不是每一次,只是在某些情況下 - 所以它默認是禁用的。 – Mattygabe

+0

1)使用允許個人構建的CI系統(例如TeamCity)2)擁有一個批量/ cmd/powershell文件,用於掃描MvcBuildViews = true並在本地運行集成測試,您的開發人員可以使用它們在測試視圖之前測試視圖3)讓CI環境爲你着想,因爲它不會經常發生。 –

+0

不確定MvcBuildViews是WebForms的有效選項嗎?我意識到這一點,並將其用於MVC框架中的項目,但我想到的項目並非如此。 – Mattygabe