MSBuild-Eigenschaften

Aktualisiert: November 2007

Eigenschaften sind Schlüssel/Wert-Paare, die zur Konfiguration von Builds verwendet werden können. Sie sind hilfreich, um Werte an Aufgaben zu übergeben, Bedingungen auszuwerten und Werte zu speichern, auf die in der gesamten Projektdatei verwiesen wird.

Definieren von und Verweisen auf Eigenschaften in einer Projektdatei

Eigenschaften werden deklariert, indem ein Element mit dem Namen der Eigenschaft als untergeordnetes Element eines PropertyGroup-Elements erstellt wird. Durch die folgende XML wird beispielsweise eine Eigenschaft mit dem Namen BuildDir erstellt, die den Wert Build aufweist.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

In der gesamten Projektdatei wird mit der Syntax $(PropertyName) auf Eigenschaften verwiesen. Auf die Eigenschaft im vorherigen Beispiel wird beispielsweise mit $(BuildDir) verwiesen.

Festlegen von Eigenschaften in der Befehlszeile

MSBuild ermöglicht es Ihnen, Eigenschaften mit dem Befehlszeilenschalter /property oder /p in der Befehlszeile festzulegen. Die in der Projektdatei festgelegten und von Umgebungsvariablen geerbten Eigenschaftenwerte werden durch die Eigenschaftenwerte überschrieben, die von der Befehlszeile empfangen werden.

Im folgenden Beispiel wird die Configuration-Eigenschaft auf DEBUG festgelegt.

MSBuild.exe MyProj.proj /p:Configuration=DEBUG

Reservierte Eigenschaften

MSBuild reserviert einige Eigenschaftennamen zum Speichern von Informationen über die Projektdatei und die MSBuild-Binärdateien. Auf diese Eigenschaften wird wie auf jede andere Eigenschaft mit der $-Notation verwiesen. Weitere Informationen finden Sie unter Gewusst wie: Verweisen auf den Namen oder Speicherort der Projektdatei und Reservierte Eigenschaften für MSBuild.

Umgebungsvariablen

Auf Umgebungsvariablen in Projektdateien kann auf die gleiche Weise verwiesen werden wie auf reservierte Eigenschaften. Um die PATH-Umgebungsvariable in der Projektdatei zu verwenden, verwenden Sie beispielsweise $(Path). Wenn das Projekt eine Eigenschaftendefinition enthält, die denselben Namen wie eine Umgebungsvariable hat, wird der Wert der Umgebungsvariablen von der Eigenschaft im Projekt überschrieben. Weitere Informationen finden Sie unter Gewusst wie: Verwenden von Umgebungsvariablen in einem Build.

Speichern von XML in Eigenschaften

Eigenschaften können beliebigen XML-Code enthalten, um die Übergabe von Werten an Aufgaben oder das Anzeigen von Protokollierungsinformationen zu unterstützen. Im folgenden Beispiel ist die ConfigTemplate-Eigenschaft mit einem Wert dargestellt, der XML und andere Eigenschaftenverweise enthält. MSBuild ersetzt die Eigenschaftenverweise durch die entsprechenden Eigenschaftenwerte. Eigenschaftenwerte werden von oben nach unten interpretiert. Folglich sollten $(MySupportedVersion), $(MyRequiredVersion) und $(MySafeMode) in diesem Beispiel bereits definiert sein.

<PropertyGroup>
    <ConfigTemplate>
        <Configuration>
            <Startup>
                <SupportedRuntime
                    ImageVersion="$(MySupportedVersion)" 
                    Version="$(MySupportedVersion)"/>
                <RequiredRuntime
                    ImageVersion="$(MyRequiredVersion)
                    Version="$(MyRequiredVersion)" 
                    SafeMode="$(MySafeMode)"/>
            </Startup>
        </Configuration>
    </ConfigTemplate>
</PropertyGroup>

Siehe auch

Aufgaben

Gewusst wie: Verwenden von Umgebungsvariablen in einem Build

Gewusst wie: Verweisen auf den Namen oder Speicherort der Projektdatei

Konzepte

MSBuild

Übersicht über MSBuild

Referenz

Reservierte Eigenschaften für MSBuild

Property-Element (MSBuild)