2010-07-27 9 views
7

Ich möchte MS-Build verwenden. Ich habe viele Projekte, die ich manuell (von Visual Studio) ab sofort erstelle. Ich möchte den Build-Prozess automatisieren und vorzugsweise von einer Maschine, auf der ich Visual Studio nicht installieren möchte. Ich begann über MS-Build auf MSDN zu lesen. Aber ich muss noch eine Schritt für Schritt Anleitung bekommen, wo ich anfangen und wie ich es machen soll. Meine Fragen sind wie:Wie starte ich auf MS-Build

  1. Wie kann ich MS-Build starten? Gibt es irgendwelche Download-fähig?
  2. Was ist der erste Schritt?
  3. Wie erstellt man ein MS-Build-Skript?

Und viele ähnliche Fragen. Kann mich jemand führen?

Antwort

11

MS Build kommt mit dem .NET Framework selbst und der ausführbaren Datei (msbuild.exe) im .NET-Framework-Verzeichnis, so etwas wie (je nach Ausführung) befindet:

  • C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319
  • C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5
  • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727

(Die richtige Version ist auch in% path% bei Verwendung der "Visu al Studio-Eingabeaufforderung "aus dem Startmenü."

MsBuild-Dateien sind XML-Dateien. Sie können, indem sie eine neue Textdatei starten, kann sagen, „c: \ myscript.msbuild“ und copy-paste diese in die Datei:

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

Dann Aufforderung und geben zu befehlen gehen:

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

Das ist ein guter Anfang. :)

Dann können Sie die Ziele und Eigenschaften anpassen. Zweites Beispiel:

<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 \ Framework \ v4.0.30319 \ msbuild.exe c: \ myscript.msbuild/target: mytarget/Eigenschaft: MyCondition = x

Sie kann auch Dateien in Build-Dateien erstellen.

<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

Vielen Dank. Das wird der anständigste Start für mich sein. Ich werde jetzt lernen, wie man die Build-Datei für mein Projekt schreibt. – Kangkan

8

MSBuild ist ähnlich wie bei anderen Build-Produkte wie NAnt (nur für den Fall haben Sie eine dieser verwendet wird), aber es ist immer noch anders in wenigen Punkten.

Here is a good start page auf MSDN. Es gibt eine ganze Reihe verschiedener MSBuild-Aufgabenbibliotheken, die unter verschiedenen Lizenzen veröffentlicht wurden. Die meisten, die ich gesehen habe, sind völlig kostenlos und werden mit Quellcode geliefert.Wahrscheinlich die beiden größten sind:

Andere gute Plätze Informationen zu erhalten:

Das sollte genug sein, um loszulegen. Wenn Sie eine Aufgabe nicht finden können, um das zu tun, was Sie wollen, schreiben Sie es einfach yourseld - es ist sehr einfach.

+0

Danke. Obwohl ich nicht viel von der Startseite bei MSDN ausmachen konnte, hoffe ich, dass die anderen Community-Projekte meine Fähigkeiten auf MSBuild verbessern werden, sobald ich MSBuild verwenden kann. – Kangkan

+0

Danke, ich habe auch den Link zu meinem Buch hinzugefügt. Es ist die beste Quelle für Informationen zu MSBuild. –

+0

@Sayed: Vielen Dank. – Kangkan