Freigeben über


Anpassen aller .NET-Builds

Die Techniken in diesem Artikel sind nützlich, wenn Sie alle Builds anpassen möchten, die auf einem bestimmten Computer, virtuellen Computer oder Container ausgeführt werden. Wenn Sie beispielsweise einen Buildserver einrichten, müssen Sie möglicherweise MSBuild-Einstellungen global für alle Builds auf dem Server konfigurieren. Grundsätzlich können Sie die globalen Dateien "Microsoft.Common.Targets " oder "Microsoft.Common.Props " ändern, aber es gibt eine bessere Möglichkeit. Sie können sich auf alle Builds eines bestimmten Projekttyps (z. B. alle C#-Projekte) auswirken, indem Sie bestimmte MSBuild-Eigenschaften verwenden und bestimmte benutzerdefinierte .targets dateien .props hinzufügen.

Vor und nach den Standard-.props- und .targets-Dateien

Um alle C#- oder Visual Basic-Builds zu beeinflussen, die von einer Installation von MSBuild oder Visual Studio gesteuert werden, erstellen Sie eine Datei Custom.Before.Microsoft.Common.Targets oder Custom.After.Microsoft.Common.Targets mit Zielen, die vor oder nach Microsoft.Common.targets ausgeführt werden, oder eine Datei Custom.Before.Microsoft.Common.Props oder Custom.After.Microsoft.Common.Props mit Eigenschaften, die vor oder nach Microsoft.Common.props verarbeitet werden.

Sie können die Speicherorte dieser Dateien mithilfe der folgenden MSBuild-Eigenschaften angeben:

  • CustomBeforeMicrosoftCommonProps
  • CustomBeforeMicrosoftCommonTargets
  • CustomAfterMicrosoftCommonProps
  • CustomAfterMicrosoftCommonTargets
  • CustomBeforeMicrosoftCSharpTargets
  • CustomBeforeMicrosoftVisualBasicTargets
  • CustomAfterMicrosoftCSharpTargets
  • CustomAfterMicrosoftVisualBasicTargets

Die allgemeinen Versionen dieser Eigenschaften wirken sich sowohl auf C#- als auch visual Basic-Projekte aus. Sie können diese Eigenschaften in der MSBuild-Befehlszeile festlegen.

msbuild /p:CustomBeforeMicrosoftCommonTargets="C:\build\config\Custom.Before.Microsoft.Common.Targets" MyProject.csproj

Warnung

Visual Studio verwendet die benutzerdefinierten .targets Dateien oder .props Dateien, wenn sie im ORDNER "MSBuild" gefunden werden, wenn ein Projekt des übereinstimmenden Typs erstellt wird. Diese Anpassung kann unbeabsichtigte Folgen haben, und wenn sie falsch ausgeführt wird, kann Visual Studio die Fähigkeit deaktivieren, auf Ihrem Computer zu bauen.

Allgemeine Props-Datei ersetzen

Sie können auch die Eigenschaften AlternateCommonProps verwenden, um Ihre eigene .props Datei anzugeben, die anstelle von Microsoft.Common.props verwendet werden soll. Wenn Sie jemals die Notwendigkeit haben , Microsoft.Common.props anzupassen, indem Sie sie direkt ändern, könnten Sie stattdessen die Standardversion dieser Datei in eine andere Datei kopieren und dann Ihre Änderungen nur in der alternativen Version vornehmen.

Der beste Ansatz hängt von Ihrem Szenario ab. Mithilfe der Erweiterbarkeit von Visual Studio können Sie das Buildsystem anpassen und einen Mechanismus zum Installieren und Verwalten der Anpassungen bereitstellen.

Wenn Sie über einen dedizierten Buildserver verfügen und sicherstellen möchten, dass bestimmte Ziele immer auf allen Builds des entsprechenden Projekttyps ausgeführt werden, der auf diesem Server ausgeführt wird, ist die Verwendung einer globalen benutzerdefinierten .targets oder .props Datei sinnvoll. Wenn die benutzerdefinierten Ziele nur ausgeführt werden sollen, wenn bestimmte Bedingungen gelten, verwenden Sie einen anderen Dateispeicherort, und legen Sie den Pfad zu dieser Datei fest, indem Sie die entsprechende MSBuild-Eigenschaft nur bei Bedarf in der MSBuild-Befehlszeile festlegen.