Freigeben über


Reservierte Eigenschaften für MSBuild

Aktualisiert: November 2007

MSBuild stellt eine Reihe reservierter Eigenschaften zum Speichern von Informationen über die Projektdatei und die MSBuild-Binärdateien bereit. Diese Eigenschaften werden auf die gleiche Weise ausgewertet wie andere MSBuild-Eigenschaften. Um z. B. die MSBuildProjectFile-Eigenschaft zu verwenden, würden Sie Folgendes eingeben:

$(MSBuildProjectFile)

Reservierte Eigenschaften

Die folgende Tabelle beschreibt die reservierten MSBuild-Eigenschaften.

Eigenschaft

Beschreibung

MSBuildProjectDirectory

Der absolute Pfad des Verzeichnisses, in dem sich die Projektdatei befindet, z. B.: C:\MyCompany\MyProduct.

MSBuildProjectFile

Der vollständige Dateiname der Projektdatei, einschließlich der Dateinamenerweiterung, z. B. MyApp.proj.

MSBuildProjectExtension

Die Dateinamenerweiterung der Projektdatei, einschließlich des Punkts, z. B. .proj.

MSBuildProjectFullPath

Der absolute Pfad und vollständige Dateiname der Projektdatei, z. B. C:\MyCompany\MyProduct\MyApp.proj.

MSBuildProjectName

Der Dateiname der Projektdatei ohne die Dateinamenerweiterung, z. B. MyApp.

MSBuildBinPath

Der absolute Pfad des Verzeichnisses, in dem sich die zurzeit genutzten MSBuild-Binärdateien befinden, beispielsweise C:\Windows\Microsoft.Net\Framework\v2.0. Diese Eigenschaft ist nützlich, wenn Sie auf Dateien im Verzeichnis MSBuild verweisen müssen.

MSBuildProjectDefaultTargets

Die vollständige Liste von Zielen, die im DefaultTargets-Attribut des Project-Elements angegeben ist. Das folgende Project-Element würde beispielsweise über einen MSBuildDefaultTargets-Eigenschaftenwert von A;B;C verfügen.

<Project DefaultTargets="A;B;C" >

MSBuildExtensionsPath

Der Ordner MSBuild im Verzeichnis Programme. Dieser Speicherort ist nützlich zum Ablegen benutzerdefinierter Zieldateien. Ihre Zieldateien könnten z. B. unter \Programme\MSBuild\MyFiles\Northwind.targets installiert sein und dann mit folgender XML-Zeile in Projektdateien importiert werden:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

MSBuildStartupDirectory

Der absolute Pfad des Verzeichnisses, in dem MSBuild aufgerufen wird.

Auf diese Weise können Sie von jedem Punkt einer Projektstruktur aus alles erstellen, was sich unterhalb dieses Punkts befinden soll, ohne dass Sie in jedem Verzeichnis "dirs.proj"-Typdateien erstellen müssen. Stattdessen haben Sie nur ein einziges Projekt, wie dieses Beispiel mit dem Namen c:\traversal.proj:

<Project …>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

An einem beliebigen Punkt in der Struktur müssten Sie folgendes eingeben:

msbuild c:\traversal.proj

Siehe auch

Konzepte

MSBuild-Eigenschaften

Weitere Ressourcen

MSBuild-Referenz