2009-08-25 74 views
97

我正在開發一個web應用程序項目,我需要創建一個構建腳本;一個可以從我的巡航控制服務器觸發的構建腳本。由於nant並沒有經過多年的維護,我認爲MSBuild是最好的選擇。MSBuild腳本有很好的教程嗎?

我需要構建腳本能夠

  • 編譯所有組件
  • 執行單元測試
  • 在本機上運行NCover分析測試
  • 部署數據庫(具體取決於參數)。這真的是在執行一個工具,因爲我最終會編寫我自己的工具來部署數據庫。但是該工具的執行應基於某些命令行參數進行有條件的處理。
  • 以巡航控制可讀取和理解的格式傳送單元測試和覆蓋範圍結果。

我假設MSBuild將允許我做所有這些事情。但我不知道從哪裏開始。有誰知道一個好的教程讓我開始使用我的構建腳本?

+7

@Preet僧伽:我沒有覺得這是如此 - 你可以浪費很多時候,你從烹飪書上學習的時候,有一半是理解語法的。我認爲這是一個非常重要的問題,我希望這個問題成爲指出人們的好地方。 – 2009-08-27 07:32:52

回答

13
+3

這個鏈接在2010年2月16日之前是失敗的。所以到了谷歌的博客http://brennan.offwhite.net/blog。 – 2010-02-16 07:12:00

+0

剛剛在google緩存中找到一個http://74.125.155.132/search?q=cache:http://brennan.offwhite.net/blog/2006/11/29/msbuild-basics-1of7/ – 2010-02-16 23:23:49

+2

本教程是有點混亂,結構不好。 – 2010-05-14 21:25:20

38

這是我的第一個教程。很容易理解和遵循:

https://codingcockerel.wordpress.com/2008/04/15/automating-the-build-with-msbuild/

+1

以前沒有MSBuild的經驗我發現本教程很容易理解。演示代碼在VS2008中工作沒有麻煩。 – 2010-02-16 07:13:23

+4

此鏈接失敗(2016年2月17日)。 403 Forbidden ... – juagicre 2016-02-17 16:06:48

+0

STW於2016年8月1日進行編輯後,鏈接已修復。 – desigeek 2016-09-15 18:58:55

8

我在浪費了很多時間才購買Hashimi MSBuild book,太棒了 - I concur with this review by Steven St Jean

除了對MSBuild腳本的全面介紹之外,它還有一本關於典型構建自動化的典型構建自動化部分,比如內部版本號等。顯然,最後一個TeamBuild部分不會直接與您相關,但很多這些主題在所有CI工具中都是通用的。

進展:2nd ed保持這種趨勢,增加了必須具備的部分重新WebDeploy

+0

後續工作:兩位作者現在已被Borg吞噬[從哪個作者可能或可能不希望推斷有關本書的質量] – 2010-06-29 11:35:29

+2

這是一本很好的參考書,涵蓋了幾乎所有你需要知道的使用MSBuild進行真正複雜的編譯自動化的知識。 – 2012-03-02 17:55:46

9

在Visual Studio博客上有一個「Getting Started with MSBuild」博客文章,它很好地概述瞭如何將MSBuild與Visual Studio聯繫起來。這是相當新的(25.02.2010),並使用Visual Studio 2010和隨附的MSBuild v4.0。

雖然沒有太多的代碼。

直到閱讀這個博客,我明白* .csproj文件本身是MSBuild文件。而且,項目上下文菜單中的Build,Clean,Rebuild和Publish命令實際上是MSBuild「目標」。