MSBuild - MSBuild

MSBuild
Entwickler Microsoft
Erstveröffentlichung 2003 ; Vor 18 Jahren ( 2003 )
Stabile Version
v16.11.0 / 11. August 2021 ; Vor 21 Tagen ( 2021-08-11 )
Repository
Geschrieben in C#
Betriebssystem Plattformübergreifend
Plattform .NET Framework , .NET Core
Typ Build-Tool
Lizenz MIT-Lizenz
Webseite docs .microsoft .com /visualstudio /msbuild /msbuild Bearbeiten Sie dies auf Wikidata

Microsoft Build Engine , besser bekannt als MSBuild , ist ein kostenloses Open-Source- Build-Toolset für verwalteten Code sowie nativen C++- Code und war Teil von .NET Framework . Visual Studio hängt von MSBuild ab, aber nicht umgekehrt. Visual Studio Application Lifecycle Management hängt von MSBuild ab, um Teambuilds über Azure DevOps Server durchzuführen .

Überblick

MSBuild ist ein Build-Tool , das hilft, den Prozess der Erstellung eines Softwareprodukts zu automatisieren, einschließlich des Kompilierens des Quellcodes , des Verpackens , Testens, Bereitstellens und Erstellens von Dokumentationen. Mit MSBuild ist es möglich, Visual Studio-Projekte und -Projektmappen zu erstellen, ohne dass die Visual Studio- IDE installiert ist. MSBuild ist kostenlos und quelloffen . MSBuild wurde zuvor mit .NET Framework gebündelt ; ab Visual Studio 2013 wird es jedoch stattdessen mit Visual Studio gebündelt. MSBuild ist ein funktionaler Ersatz für das Dienstprogramm nmake , das in Projekten verwendet wird, die aus älteren Visual Studio-Versionen stammen.

MSBuild arbeitet mit MSBuild-Projektdateien, die eine ähnliche XML- Syntax wie Apache Ant oder NAnt aufweisen . Obwohl die Syntax auf einem wohldefinierten XML-Schema basiert, ist die grundlegende Struktur und Funktionsweise mit dem traditionellen Unix- Dienstprogramm make vergleichbar : Der Benutzer gibt an, was verwendet wird (normalerweise Quellcodedateien) und was das Ergebnis sein soll (normalerweise eine statische Bibliothek, DLL oder eine ausführbare Anwendung), aber das Dienstprogramm entscheidet selbst, was zu tun ist und in welcher Reihenfolge der Build ausgeführt wird.

MSBuild kann ein Projekt mit einer unterstützten .NET Framework-Version Ihrer Wahl erstellen. Diese Funktion wird als "Multi-Targeting" bezeichnet. Jeder gegebene Build eines Projekts kann jedoch jeweils nur auf eine Version des Frameworks abzielen.

Geschichte

MSBuild wurde erstmals 2003 für .NET Framework 2.0 zur Verwendung in Visual Studio 2005 (Codename Whidbey) und Windows Vista (Codename Longhorn) entwickelt.

Versionen

Ausführung .NET-Framework Visual Studio-Version Übliche Installationsorte (x86)
2.0 2.0 2005 C:\Windows\Microsoft.NET\Framework\v2.0.50727
3.5 3.5 2008 C:\Windows\Microsoft.NET\Framework\v3.5
4.7.3062.0 4.0 2010 C:\Windows\Microsoft.NET\Framework\v4.0.30319
4.8.3761.0 4.5.2 2012 C:\Windows\Microsoft.NET\Framework\v4.0.30319
12.0 4.5.2 2013 C:\Programme (x86)\MSBuild\12.0\Bin
14,0 4.6 2015 C:\Programme (x86)\MSBuild\14.0\Bin
15.0 4.7 2017
  • C:\Programme (x86)\Microsoft Visual Studio\2017\ BuildTools \MSBuild\15.0\Bin
  • C:\Programme (x86)\Microsoft Visual Studio\2017\ Enterprise \MSBuild\15.0\Bin
  • C:\Programme (x86)\Microsoft Visual Studio\2017\ Community \MSBuild\15.0\Bin
16.0 4.7.2 2019
  • C:\Programme (x86)\Microsoft Visual Studio\2019\ BuildTools \MSBuild\Current\Bin
  • C:\Programme (x86)\Microsoft Visual Studio\2019\ Enterprise \MSBuild\Current\Bin
  • C:\Programme (x86)\Microsoft Visual Studio\2019\ Community \MSBuild\Current\Bin

Terminologie

Ziel
Ein Ziel enthält eine Reihe von Aufgaben, die von MSBuild ausgeführt werden sollen. Der Fokus von MSBuild ist das Ergebnis Target, das beim Aufrufen von MSBuild mit der Projektdatei angegeben wird. Dies liegt daran, dass ein Projekt mehrere Zieleinträge enthalten kann , die jeweils nacheinander (und bedingt) ausgeführt werden. Nachfolgende abhängige Ziele werden vor dem angeforderten Ziel ausgeführt. Der Ausführungsfluss des aktuellen Targets kann mithilfe der folgenden Attribute gesteuert werden: Condition, BeforeTargets, AfterTargets und DependsOnTargets. Jedes Ziel kann mit den notwendigen Aufgaben in sich abgeschlossen sein, um sich selbst abzuschließen. Ein Ziel ist normalerweise eine Aktion, die für eine Datei, eine Dateigruppe oder ein Verzeichnis ausgeführt wird.
Aufgabe
Ein Task ist ein Befehl, der ausgeführt wird, um ein Ziel abzuschließen. Aufgaben werden verwendet, um eine beliebige Anzahl von Aktionen während des Buildprozesses zu gruppieren und auszuführen. Sie werden typischerweise in einer .NET-Assembly als Klasse implementiert, die von der Task-Klasse erbt oder die ITask-Schnittstelle implementiert. Viele grundlegende Aufgaben werden als Teil von .NET Framework ausgeliefert, und von der Community entwickelte Aufgaben sind frei verfügbar. Einige Beispiele für Aufgaben umfassen das Kopieren von Dateien, das Erstellen von Verzeichnissen oder das Parsen von XML.
Eigenschaften und Gegenstände
MSBuild stellt Properties und Items bereit , die konzeptionell den Makros von make entsprechen . Eigenschaften geben statische Werte an, während Elemente normalerweise verwendet werden, um Gruppen von Dateien oder Ordnern zu definieren, für die Aufgaben ausgeführt werden. Das Angeben von Dateien für Artikel wird durch die Unterstützung von Platzhaltern vereinfacht.

Siehe auch

Verweise

Weiterlesen

Externe Links