相信如果有在使用 Team System 的人, 應該多少都知道可以建立 TeamBuild 讓建置的工作自動化, 但是也一定會發生一種令人沮喪的情形, 就是任何人 Get 到本機都能 Build, 可是 TeamBuild 就是不會過, 這都是因為 TeamBuild 的建置流程並不完全如我們所想像, 所以 BuildLog.txt 就成為找問題的重要線索了!
習慣看 Visual Studio Output 視窗的人(很多人都不看), 都應該知道在 Build 專案的時候, 可以在從它看到很多訊息, 雖然 Error List 視窗的結果比較美觀, 但是有時候它會保留著之前的錯誤, 就可能會誤導開發人員 Debug 的方向, 所以建議大家如果看不懂 Error List 裡面的訊息, 就找 Output 視窗吧!!
回到正題, 如果在 IDE 環境中, 想要讓 Output 視窗顯示更多更詳細的資訊, 可以從 [Tools]->[Options]->[Projects and Solutions]->[Build and Run]->[MSBuild project build output verbosity] 調整, 如下圖:
但是如果希望調整 Team Build 的 BuildLog 又該怎麼辦呢? 在 Source Control 上會有一個 TeamBuildTypes 的目錄, 裡面會有所有已建立的 Build, 每一個 Build 目錄中會有一個 TFSBuild.rsp 檔案, 這個檔案是讓你用來傳一些參數給 MSBuild.exe 程式的, 所以如果想要讓輸出的 BuildLog.txt 更豐富的話, 就先把它 Check Out 下來並加上一行 /v:diag 就可以了, 如下: (改好要記得 Check In 回去才會生效!)
# This is a response file for MSBuild
# Add custom MSBuild command line options in this file
/v:diag
附註: /v:diag 會產生非常非常多的 log 資訊, 如果覺得太多的話, 可以試著把 diag 換成其他的參數, 包括 q[uite], m[inimal], n[ormal], d[etailed] 和最詳細的 diag[nostic]