2010-07-27 32 views
7

我希望開始使用MS-Build。到目前爲止,我有許多項目(從Visual Studio手動構建)。我想自動化構建過程,最好從我不希望安裝Visual Studio的機器上進行。我開始閱讀MSDN上的MS-Build。但我還沒有得到一步一步的指導,從哪裏開始以及如何去做。我的問題是這樣的:如何開始MS-Build

  1. 我該如何啓動MS-Build?有沒有可下載的?
  2. 第一步是什麼?
  3. 如何創建MS-Build腳本?

和很多類似的問題。有人可以指導我嗎?

回答

11

MS構建自帶.NET框架本身和可執行文件(msbuild.exe)位於.NET框架目錄,東西(取決於版本),如:

  • C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319
  • C:\ Windows \ Microsoft.NET \框架\ v3.5版本
  • C:\ Windows \ Microsoft.NET \框架\ V2.0.50727

(使用「Visu」時,正確的版本也位於%path%中al Studio命令提示符「。)

MsBuild文件是xml文件。您可以通過一個新的文本文件開始,可以說「C:\ myscript.msbuild」,並將其複製粘貼到文件:

<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="MyTarget"> 
    <Message Text="Hello world!" Importance="high"/> 
    </Target> 
</Project> 

然後進入命令提示符,然後輸入:

Ç :\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c:\ myscript.msbuild

這是一個好的開始。 :)

然後您可以自定義目標和屬性。 第二個例子:

<Project DefaultTargets="All" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup Condition="'$(MyCondition)' == 'x'" > 
    <MyProperty>World2</MyProperty> 
    </PropertyGroup> 
    <Target Name="MyTarget"> 
    <Message Text="Hello" Importance="high"/> 
    <Message Text="$(MyProperty)" Importance="high"/> 
    </Target> 
    <Target Name="MyTarget2"> 
    </Target> 
    <Target Name="All"> 
    <CallTarget Targets="MyTarget" /> 
    <CallTarget Targets="MyTarget2" /> 
    </Target> 
</Project> 

C:\ Windows \ Microsoft.NET \框架\ v4.0.30319 \ msbuild.exe C:\ myscript.msbuild /目標:mytarget /屬性:MyCondition = X

您也可以在構建文件中構建文件。

<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="MyExternalProperties.msbuild"/> 
    <Target Name="MyTarget"> 
    <Exec Command="echo Hello world 3"/> 
    </Target> 
</Project> 
+0

非常感謝。這對我來說是最合適的開始。現在我將學習如何爲我的項目編寫構建文件。 – Kangkan 2010-07-27 10:27:40

8

的MSBuild類似於其他構建產品,比如南特(萬一你已經使用了其中的一個),但它仍然在幾個方面有所不同。

Here is a good start page MSDN上。有許多不同的MSBuild任務庫以各種許可證的形式發佈,大多數我看到的都是完全免費的,並附帶源代碼。也許是兩個最大的分別是:

其他的好地方SDC Tasks Library獲得信息:

這應該足以開始。如果你找不到任務去做你想做的事情,那就把它寫下吧 - 這很容易。

+0

謝謝。雖然我無法從MSDN的開始頁面瞭解更多,但我希望,一旦我能夠使用MSBuild,其他社區項目將增強我在MSBuild上的功能。 – Kangkan 2010-07-27 11:19:10

+0

謝謝,我也在那裏添加了鏈接到我的書。它是MSBuild信息的最佳單一來源。 – 2010-07-27 16:07:29

+0

@Sayed:非常感謝。 – Kangkan 2010-07-27 17:36:55