1
我爲ASP.Net項目設置了Cruise Control.Net 1.6.7981.1。它目前正在用MSBuild正確構建。該MSBuild的配置文件的設置如下如何使用巡航控制網絡編譯aspx頁面
<msbuild>
<executable>c:\Windows\Microsoft.Net\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>C:\MyProject\trunk</workingDirectory>
<projectFile>MyProject.sln</projectFile>
<buildArgs>/t:Rebuild /p:Configuration=Release /v:m</buildArgs>
<targets>Clean;Build</targets>
<timeout>1200</timeout>
</msbuild>
我認爲,由於我的配置將發佈的aspx頁面被編譯成構建的一部分。但是,如果我從要求運行構建的頁面中刪除asp:ScriptManager
標記仍然成功,即使頁面加載時也會導致以下錯誤。
帶ID「MyControl」 的控件需要頁面上的ScriptManager。 ScriptManager必須出現在需要它的任何控件的 之前。甚至當我
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v/-c -errorstack -p C:\MyProject\trunk\MyProject
手動的頁面仍然建立
沒有任何錯誤。
我真的很想巡航控制失敗的建設,如果任何錯誤已經使它建設。有誰知道如何做到這一點?
這聽起來像是一個ASP.NET運行時錯誤而不是編譯時錯誤 - 你確定你可以捕獲它嗎?您可以讓CruiseControl使用Selenium在您部署的網站上運行鏈接蜘蛛測試 - 我們已將其包含在我們的單元測試中,因此CC將nunit作爲構建的一部分,並且nunit將運行測試。 – Rup 2011-05-12 15:50:40
@Rup它是一個運行時錯誤,但我會認爲它應該是一個編譯時錯誤。 Selenium是否處理需要登錄的頁面? – TheLukeMcCarthy 2011-05-12 15:53:37
是的,Selenium會自動瀏覽真實的瀏覽器。 Firefox - 所以你只需要編寫腳本來首先填寫登錄表單。 (這確實意味着你需要在CI服務器上進行交互式會話,以便瀏覽器可以運行桌面。) – Rup 2011-05-12 15:55:33