Share via


Reservierte und bekannte Eigenschaften für MSBuild

MSBuild stellt eine Reihe vordefinierter Eigenschaften zum Speichern von Informationen über die Projektdatei und die MSBuild-Binärdateien bereit. Diese Eigenschaften werden auf dieselbe Weise ausgewertet wie andere MSBuild-Eigenschaften. Zum Verwenden der MSBuildProjectFile-Eigenschaft geben Sie beispielsweise $(MSBuildProjectFile) ein.

MSBuild verwendet die Werte in der folgenden Tabelle, um die reservierten und bekannten Eigenschaften vorzudefinieren. Reservierte Eigenschaften können nicht überschrieben werden, aber bekannte Eigenschaften können überschrieben werden, indem identisch benannte Umgebungseigenschaften, globale Eigenschaften oder Eigenschaften verwendet werden, die in der Projektdatei deklariert sind.

Reservierte und bekannte Eigenschaften

In der folgenden Tabelle werden die vordefinierten MSBuild-Eigenschaften beschrieben.

Eigenschaft

Beschreibung

Reserviert oder bekannt

MSBuildBinPath

Der absolute Pfad des Ordners, in dem sich die derzeit verwendeten MSBuild-Binärdateien befinden (beispielsweise C:\Windows\Microsoft.Net\Framework\Versionsnummer). Diese Eigenschaft ist nützlich, wenn Sie auf Dateien im MSBuild-Verzeichnis verweisen müssen.

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Reserviert

MSBuildExtensionsPath

Seit .NET Framework 4 gibt es keinen Unterschied zwischen den Standardwerten von MSBuildExtensionsPath und MSBuildExtensionsPath32. Sie können die Umgebungsvariable MSBUILDLEGACYEXTENSIONSPATH auf einen Wert ungleich NULL festlegen, um das Verhalten des Standardwerts von MSBuildExtensionsPath in früheren Versionen zu ermöglichen.

In .NET Framework 3.5 und Vorgängerversionen verweist der Standardwert von MSBuildExtensionsPath auf den Pfad des MSBuild-Unterordners unter dem Ordner "\Program Files\" oder "\Program Files (x86)", je nach Bitanzahl des aktuellen Prozesses. Bei einem 32-Bit-Prozess auf einem 64-Bit-Computer zeigt diese Eigenschaft beispielsweise auf den Ordner "\Programme (x86)". Bei einem 64-Bit-Prozess auf einem 64-Bit-Computer zeigt diese Eigenschaft auf den Ordner "\Programme".

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Dieser Speicherort ist nützlich zum Ablegen benutzerdefinierter Zieldateien. Ihre Zieldateien können beispielsweise unter "\Programme\MSBuild\MyFiles\Northwind.targets" installiert sein und dann mithilfe des folgenden XML-Codes in Projektdateien importiert werden:

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

Bekannt

MSBuildExtensionsPath32

Der Pfad zu dem MSBuild-Unterordner unter dem Ordner "\Programme" oder "\Programme (x86)". Dieser Pfad zeigt stets auf den 32-Bit-Ordner "\Programme" auf einem 32-Bit-Computer und auf "\Programme (x86)" auf einem 64-Bit-Computer. Siehe auch MSBuildExtensionsPath und MSBuildExtensionsPath64.

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Bekannt

MSBuildExtensionsPath64

Der Pfad des MSBuild-Unterordners unter dem Ordner "\Programme". Bei einem 64-Bit-Computer zeigt dieser Pfad immer auf den Ordner "\Programme". Bei einem 32-Bit-Computer ist dieser Pfad leer. Siehe auch MSBuildExtensionsPath und MSBuildExtensionsPath32.

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Bekannt

MSBuildLastTaskResult

true, wenn die vorherige Aufgabe ohne Fehler (auch wenn Warnungen auftraten) abgeschlossen wurde, oder false, wenn bei der vorherigen Aufgabe Fehler aufgetreten sind. Wenn ein Fehler in einer Aufgabe auftritt, ist das Auftreten des Fehlers in der Regel das letzte Ereignis in dem jeweiligen Projekt. Daher ist der Wert dieser Eigenschaft niemals false, außer in diesen Szenarien:

Reserviert

MSBuildNodeCount

Die maximale Anzahl nebenläufiger Prozesse, die beim Erstellen verwendet werden. Dies ist der Wert, den Sie in der Befehlszeile für /maxcpucount angegeben haben. Wenn Sie /maxcpucount ohne einen Wert angegeben haben, wird die Anzahl der Prozessoren im Computer durch MSBuildNodeCount angegeben. Weitere Informationen finden Sie unter MSBuild-Befehlszeilenreferenz und Paralleles Erstellen von mehreren Projekten mit MSBuild.

Reserviert

MSBuildProgramFiles32

Der Speicherort des Ordners für 32-Bit-Programme, beispielsweise C:\Program Files (x86).

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Reserviert

MSBuildProjectDefaultTargets

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

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

Reserviert

MSBuildProjectDirectory

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

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Reserviert

MSBuildProjectDirectoryNoRoot

Der Wert der MSBuildProjectDirectory-Eigenschaft, ausschließlich des Stammlaufwerks.

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Reserviert

MSBuildProjectExtension

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

Reserviert

MSBuildProjectFile

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

Reserviert

MSBuildProjectFullPath

Der absolute Pfad und der vollständige Dateiname der Projektdatei, einschließlich der Dateinamenerweiterung, beispielsweise "C:\MyCompany\MyProduct\MyApp.proj".

Reserviert

MSBuildProjectName

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

Reserviert

MSBuildStartupDirectory

Der absolute Pfad des Ordners, in dem MSBuild aufgerufen wird. Wenn Sie diese Eigenschaft verwenden, können Sie alles unterhalb eines bestimmten Punkts in einer Projektstruktur erstellen, ohne "dirs.proj"-Dateien in jedem Verzeichnis zu erstellen. Stattdessen haben Sie wie hier gezeigt nur ein Projekt, beispielsweise "C:\traversal.proj":

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

Geben Sie für die Erstellung an einem beliebigen Punkt in der Struktur Folgendes ein:

msbuild c:\traversal.proj

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.

Reserviert

MSBuildThisFile

Der Teil von MSBuildThisFileFullPath, der den Dateinamen und die Dateierweiterung angibt.

Reserviert

MSBuildThisFileDirectory

Der Teil von MSBuildThisFileFullPath, der das Verzeichnis angibt.

Schließen Sie den abschließenden umgekehrten Schrägstrich in den Pfad ein.

Reserviert

MSBuildThisFileDirectoryNoRoot

Der Teil von MSBuildThisFileFullPath, der das Verzeichnis angibt, ausschließlich des Stammlaufwerks.

Schließen Sie den abschließenden umgekehrten Schrägstrich in den Pfad ein.

Reserviert

MSBuildThisFileExtension

Der Teil von MSBuildThisFileFullPath, der die Dateinamenerweiterung angibt.

Reserviert

MSBuildThisFileFullPath

Der absolute Pfad des Projekts oder der TARGETS-Datei, die das gerade ausgeführte Ziel enthält.

Tipp

Sie können einen relativen Pfad in einer TARGETS-Datei angegeben, der relativ zur TARGETS-Datei und nicht relativ zur ursprünglichen Projektdatei ist.

Reserviert

MSBuildThisFileName

Der Teil von MSBuildThisFileFullPath, der den Dateinamen angibt, jedoch ohne die Dateinamenerweiterung.

Reserviert

MSBuildToolsPath

Der Installationspfad der MSBuild-Version, die mit dem Wert von MSBuildToolsVersion verknüpft ist.

Schließen Sie den abschließenden umgekehrten Schrägstrich nicht in den Pfad ein.

Diese Eigenschaft kann nicht überschrieben werden.

Reserviert

MSBuildToolsVersion

Die Version des MSBuild-Toolsets, das zum Erstellen des Projekts verwendet wird.

Hinweis

Ein MSBuild-Toolset besteht aus Aufgaben, Zielen und Tools, die zum Erstellen einer Anwendung verwendet werden.Zu den Tools zählen Compiler wie "csc.exe" und "vbc.exe".Weitere Informationen finden Sie unter MSBuild-Toolset (ToolsVersion) und Standardmäßige und benutzerdefinierte Toolsetkonfigurationen.

Reserviert

Siehe auch

Konzepte

MSBuild-Eigenschaften

Weitere Ressourcen

MSBuild-Referenz