2011-10-03 63 views
0

我試圖通過使用Bash和等待解決方案構建的成功來運行單元測試來改進我們的本地構建實現。Bash - MSBuild - 文件記錄器

此刻,我想以相當模式將控制檯的結果輸出到控制檯(使用默認控制檯記錄器),但使用文件記錄器將結果更詳細地輸入到文件中。

從bash我可以執行構建罰款,提供我不具體的FileLogger。

C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe /verbosity:q D:/MyDocs/Main.sln 

一刻起,我這樣做:

C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe /verbosity:q D:/MyDocs/Main.sln /logger:FileLogger,Microsoft.Build.BuildEngine; /flp:logfile=Build.Log 

構建失敗,我得到一個無法加載文件或程序集Microsoft.Build.BuildEngine。

我也試過改變目錄,以便我在框架目錄中,但仍然得到相同的錯誤。

另一方面,我試圖爲開發人員提供本地構建的詳細程度,但如果構建成功,則啓用測試的自動執行。我將通過檢查Build.Log文件的內容來分析構建成功,以瞭解「構建成功」或「構建失敗」

我試圖使用>「Build.log」將結果推送到文件,但影響控制檯上的編譯輸出會降低我試圖實現的一些價值。

任何幫助將是偉大的。

感謝

+0

你的意思是[shell](http://en.wikipedia.org/wiki/Shell_(計算)),當你說[bash](http://www.gnu.org/s/bash/) ?或者你在[Cygwin](http://www.cygwin.com/)下運行它? – chown

回答

0

Microsoft.Build.BuildEngine是一個命名空間,而不是一個ILogger。如果更換該部分:

/logger:FileLogger,Microsoft.Build.BuildEngine; 

...有一個有效​​它更可能的工作。