Freigeben über


MSBuild-Antwortdateien

Antwortdateien (.rsp) sind Textdateien, die MSBuild.exe Befehlszeilenoptionen enthalten. Die Schalter können sich entweder in unterschiedlichen Zeilen oder in nur einer Zeile befinden. Den Befehlszeilen wird ein # -Symbol vorangestellt. Der @ -Schalter wird verwendet, um eine andere Antwortdatei an MSBuild.exe zu übergeben.

MSBuild.rsp

Die Autoresponse-Datei ist eine spezielle .rsp Datei, die beim Erstellen eines Projekts automatisch verwendet MSBuild.exe . Diese Datei,MSBuild.rsp, muss sich im gleichen Verzeichnis wie MSBuild.exe befinden, andernfalls wird sie nicht gefunden. Sie können diese Datei bearbeiten, um die Standardschalter für die Befehlszeile auf MSBuild.exe festzulegen. Wenn Sie beispielsweise jedes Mal, wenn Sie ein Projekt erstellen, denselben Logger verwenden, können Sie den Switch "-logger " zu MSBuild.rsp hinzufügen und MSBuild.exe den Logger jedes Mal verwendet, wenn ein Projekt erstellt wird.

Directory.Build.rsp

In Version 15.6 und höher durchsucht MSBuild übergeordnete Verzeichnisse des Projekts nach einer Datei namens "Directory.Build.rsp". Diese Datei kann in einem Quellcode-Repository hilfreich sein, um Während der Befehlszeilenbuilds Standardargumente bereitzustellen. Dies kann ebenfalls verwendet werden, um die Befehlszeilenargumente der gehosteten Builds anzugeben.

Sie können die Syntax %MSBuildThisFileDirectory% in einer Directory.Build.rsp-Datei verwenden, um auf das Verzeichnis zu verweisen, das die Datei "Directory.Build.rsp " enthält. Diese Syntax erfordert Prozentzeichen auf allen Betriebssystemen, z . B. Environment.ExpandEnvironmentVariables, auch wenn MSBuildThisFileDirectory es sich nicht um eine Umgebungsvariable handelt.

Deaktivieren von Antwortdateien

Um die automatische Verarbeitung der Standardantwortdateien MSBuild.rsp und Directory.Build.rsp in einem bestimmten Aufruf von MSBuild zu deaktivieren, verwenden Sie die Befehlszeilenoption -noAutoResponse. Alle Antwortdateien, auf die explizit mithilfe der @-Syntax an der Befehlszeile verwiesen wird, werden weiterhin verarbeitet. Hilfreiche Informationen finden Sie in der MSBuild-Befehlszeilenreferenz.

Siehe auch