2011-06-20 85 views
0

我是新來的,請耐心等待。我想知道如何讓MSbuild和FXcop運行一夜,並告知用戶是否失敗而未完成。我被告知他們都可以集成到CruiseControl.NET中。我目前正在查看CruiseControl.NET是否有能力通知用戶構建失敗。 (由於錯誤只完成了一半)。如果有人能夠輕鬆地做到這一點,如果你能走過我的想法或將我帶到文件中,那將是美好的。FXcop和Msbuild與CruiseControl.NET

感謝您的時間,丹尼斯海登。 睡眠

回答

2

您可以使用<MsBuild>任務來構建您的項目。 MsBuild在任務部分中可用。

<msbuild> 
     <executable> 
     C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe 
     </executable> 
     <workingDirectory> 
     project path 
     </workingDirectory> 
     <projectFile>project.sln</projectFile> 
     <buildArgs> 
     /noconsolelogger 
     /p:Configuration=Release 
     </buildArgs> 
     <targets>Build</targets> 
     <timeout>900</timeout> 
     <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 

    </msbuild> 

在任務部分有一個<exec>標籤,其可被用於運行的FxCop。

<exec> 
      <executable>c:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe</executable> 
      <baseDirectory>project path</baseDirectory> 
      <buildTimeoutSeconds>300</buildTimeoutSeconds> 
</exec> 

請查看以下鏈接

ccnet1ccnet2

+0

此代碼是有用的,但我不知道它是否發生。我想我應該解釋我甚至無法讓MSbuild工作。沒有人正在寫一本我可以遵循的指南。代碼在哪裏運行?任何人都可以解釋這一點,或者發佈易於理解信息的鏈接。謝謝 –

1

在文檔的Tasks部分,您應該看到一個MsBuild條目。要運行FxCop,可以通過MsBuild運行它,或者使用可執行任務。

1

還有的MSBuild Community Tasks一個很好的集合,有FxCop的支持,以及作爲一個整體的該派上用場,當其他工具套件創建一個CI環境。