Freigeben über


Neuerungen in MSBuild 15

MSBuild ist jetzt als Teil des .NET Core SDK verfügbar und kann .NET Core-Projekte unter Windows, macOS und Linux erstellen.

Pfad geändert

MSBuild wird jetzt in einem Ordner unter jeder Version von Visual Studio installiert. Beispiel : C:\Programme (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild. Sie können auch das folgende PowerShell-Modul verwenden, um MSBuild: vssetup.powershell zu suchen.

MSBuild wird nicht mehr im globalen Assemblycache installiert. Verwenden Sie NuGet-Pakete, um programmgesteuert auf MSBuild zu verweisen.

Geänderte Eigenschaften

Die folgenden MSBuild-Eigenschaften wurden aufgrund der neuen Versionsnummer aktualisiert.

  • MSBuildToolsVersion für diese Version der Werkzeuge ist 15.0. Die Assemblyversion ist 15.1.0.0.

  • MSBuildToolsPath hat keinen festen Speicherort mehr. Standardmäßig befindet es sich im Ordner "MSBuild\15.0\Bin " relativ zum Visual Studio-Installationsspeicherort, der Installationsspeicherort von Visual Studio kann jedoch zur Installationszeit geändert werden.

  • ToolsVersion Werte werden in der Registrierung nicht mehr festgelegt.

  • Die SDK35ToolsPath- und SDK40ToolsPath-Eigenschaften verweisen auf das .NET Framework SDK, das mit dieser Version von Visual Studio verpackt ist (z. B. 10.0A für die 4.X-Tools).

Aktualisierungen

  • Project-Element verfügt über ein neues SDK Attribut. Außerdem ist das Xmlns Attribut jetzt optional. Weitere Informationen zum SDK Attribut finden Sie unter Anleitung: Verwenden von MSBuild-Projekt-SDKs, Pakete, Metapakete und Frameworks und Ergänzungen zum csproj-Format für .NET Core.
  • Element außerhalb von Zielen hat ein neues Update Attribut. Außerdem wurde die Einschränkung des Remove Attributs beseitigt.
  • Directory.Build.props und Directory.Build.targets sind benutzerdefinierte Dateien, die Anpassungen für Projekte unter einem Verzeichnis bereitstellen. Directory.Build.props wird automatisch aus Microsoft.Common.props importiert, es sei denn, die Eigenschaft ImportDirectoryBuildProps ist auf falsefestgelegt. Directory.Build.targets wird automatisch von Microsoft.Common.targets importiert, sofern die Eigenschaft ImportDirectoryBuildTargets nicht auf false gesetzt ist.
  • Alle Metadaten mit einem Namen, die nicht mit der aktuellen Liste der Attribute in Konflikt stehen, können optional als Attribut ausgedrückt werden. Weitere Informationen finden Sie unter Item-Element.

Neue Immobilienfunktionen

  • EnsureTrailingSlash Fügt einem Pfad einen nachstehenden Schrägstrich hinzu, wenn noch keiner vorhanden ist.
  • NormalizePath kombiniert Pfadelemente und stellt sicher, dass die Ausgabezeichenfolge die richtigen Verzeichnistrennzeichen für das aktuelle Betriebssystem enthält.
  • NormalizeDirectory verbindet Pfadelemente, sorgt für einen abschließenden Schrägstrich und stellt sicher, dass der Ausgabestring die richtigen Verzeichnistrenner für das aktuelle Betriebssystem verwendet.
  • GetPathOfFileAbove gibt den Pfad der Datei zurück, die unmittelbar vor dieser Datei vorausgeht. Es ist funktionsgleich mit dem Aufruf von <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />.