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, und die meisten bekannten Eigenschaften sollten nur in erweiterten Szenarien überschrieben werden.

Reservierte und bekannte Eigenschaften

In der folgenden Tabelle sind die vordefinierten MSBuild-Eigenschaften enthalten. Die Beispielspalte in der Tabelle bezieht sich auf die folgende Beispielprojektdatei, von der angenommen wird, dass sie sich unter C:\Source\Repos\ConsoleApp1\ConsoleApp1 befindet. Sie zeigt ein Beispiel für die Werte, die diese Eigenschaften beim Zugriff auf die Projektdatei aufweisen, wenn MSBuild ohne spezielle Befehlszeilenoptionen aufgerufen wird.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Eigenschaft Reserviert oder bekannt Beschreibung Beispiel
FrameworkSDKRoot Bekannt Pfad zum Stammordner für .NET Framework-Tools. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Bekannt Gibt den Eigenschaftennamen an, der die Builddimension zur Festlegung von Zielversionen definiert (gilt nur, wenn der aktuelle Build ein Graphbuild ist) TargetFramework
InnerBuildPropertyValues Bekannt Gibt den Eigenschaftennamen an, der die möglichen Werte für die InnerBuildProperty enthält (gilt nur, wenn der aktuelle Build ein Graphbuild ist) TargetFrameworks
IsGraphBuild Bekannt True, wenn es sich um einen Graphbuild handelt, d. h., die Option -graphBuild ist aktiviert. Diese Option bedeutet, dass MSBuild einen Projektgraph erstellt. Das Konstruieren eines Graphs beinhaltet das Identifizieren der Projektverweise, um Abhängigkeiten zu erstellen. Das Erstellen dieses Graphs beinhaltet den Versuch, Projektverweise vor den Projekten zu erstellen, die die Verweise enthalten. Dieses Vorgehen unterscheidet sich vom herkömmlichen MSBuild-Vorgehen.
MSBuildAssemblyVersion Reserviert Die Version der MSBuild-Assemblys, die zum Erstellen des Projekts verwendet wird. 16,0
MSBuildBinPath Reserviert Der absolute Pfad des Ordners, in dem sich die zurzeit verwendeten MSBuild-Binärdateien befinden (zum Beispiel C:\Windows\Microsoft.Net\Framework\<versionNummer>). 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Reserviert Wird von MSBuild und Microsoft SDKs zum Verwalten von Änderungswellen verwendet.
MSBuildExtensionsPath Bekannt 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 niedriger verweist der Standardwert von MSBuildExtensionsPath auf den Pfad des MSBuild-Unterordners unter den Ordnern \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"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Bekannt Der Pfad zu dem MSBuild-Unterordner unter dem Ordner \Programme oder \Programme (x86) . Dieser Pfad führt stets zum 32-Bit-Ordner \Programme auf einem 32-Bit-Computer und zu \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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Bekannt Der Pfad des MSBuild-Unterordners im 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.
C:\Program Files\MSBuild
MSBuildFileVersion Reserviert Die vierteilige Version der MSBuild-Assemblys, die zum Erstellen des Projekts verwendet wird. 16.11.0.30701
MSBuildFrameworkToolsPath Bekannt Der Pfad zu den .NET Framework-Tools, mit dem der aktuell ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Bekannt Der Pfad zur 32-Bit-Version der .NET Framework-Tools für die Frameworkversion, mit der das aktuell ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Bekannt Der Pfad zur 64-Bit-Version der .NET Framework-Tools für die Frameworkversion, mit der das aktuell ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Reserviert Der Wert dieser Eigenschaft ist true, wenn MSBuild interaktiv ausgeführt wird, wodurch Benutzereingaben zugelassen werden. Diese Einstellung wird von der Befehlszeilenoption -interactive gesteuert. false
MSBuildLastTaskResult Reserviert 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:

– Wenn für das ContinueOnError-Attribut des Aufgabenelements (MSBuild)WarnAndContinue (oder true) bzw. ErrorAndContinue festgelegt wird.

– Wenn Target über ein OnError-Element (MSBuild) als untergeordnetes Element verfügt.
true
MSBuildNodeCount Reserviert 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 sowie unter Paralleles Erstellen von mehreren Projekten mit MSBuild. 1
MSBuildOverrideTasksPath Bekannt Der Speicherort, an dem nach Dateien vom Typ .overridetasks gesucht werden soll. Diese können zum Bereitstellen benutzerdefinierter Versionen von Standardaufgaben verwendet werden. Weitere Informationen finden Sie unter MSBuild-Aufgaben.

Schließen Sie den abschließenden umgekehrten Schrägstrich nicht in den Pfad ein.
MSBuildProgramFiles32 Reserviert Der Speicherort des Ordners für 32-Bit-Programme, beispielsweise C:\Programme (x86) .

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Reserviert 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" >
Build
MSBuildProjectDirectory Reserviert 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.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Reserviert Der Wert der MSBuildProjectDirectory-Eigenschaft, ausschließlich des Stammlaufwerks.

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Reserviert Die Erweiterung der Projektdatei, einschließlich des Punkts, z.B. .proj. .csproj
MSBuildProjectFile Reserviert Der vollständige Dateiname der Projektdatei, einschließlich der Erweiterung, z.B. MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Reserviert Der absolute Pfad und der vollständige Dateiname der Projektdatei, einschließlich der Erweiterung, beispielsweise C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Reserviert Der Dateiname der Projektdatei ohne die Erweiterung, z.B. MyApp. ConsoleApp1
MSBuildRuntimeType Reserviert Der Typ der Laufzeit, der derzeit ausgeführt wird. Eingeführt in MSBuild 15. Der Wert ist möglicherweise nicht definiert (vor MSBuild 15). Full gibt an, dass MSBuild auf dem Desktop .NET Framework ausgeführt wird, Core, dass MSBuild unter .NET Core ausgeführt wird (z. B. in dotnet build) und Mono, dass MSBuild unter Mono ausgeführt wird. Full
MSBuildSDKsPath Bekannt Der Pfad, den MSBuild für die Suche nach SDKs verwendet. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Reserviert Die vollständige, SemVer 2.0-Version der MSBuild-Assemblys, die zum Erstellen des Projekts verwendet wird. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Reserviert 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.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Reserviert Der Teil von MSBuildThisFileFullPath, der den Dateinamen und die Dateierweiterung angibt. ConsoleApp1.csproj
MSBuildThisFileDirectory Reserviert Der Teil von MSBuildThisFileFullPath, der das Verzeichnis angibt.

Schließen Sie den abschließenden umgekehrten Schrägstrich in den Pfad ein.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Reserviert 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.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Reserviert Der Teil von MSBuildThisFileFullPath, der die Dateinamenerweiterung angibt. .csproj
MSBuildThisFileFullPath Reserviert 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.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Reserviert Der Teil von MSBuildThisFileFullPath, der den Dateinamen angibt, jedoch ohne die Dateinamenerweiterung. ConsoleApp1
MSBuildToolsPath Reserviert 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Bekannt Der Installationspfad der 32-Bit-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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Bekannt Der Installationspfad der 64-Bit-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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Reserviert 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) sowie unter Standardmäßige und benutzerdefinierte Toolsetkonfigurationen.
Current
MSBuildUserExtensionsPath Bekannt Dieser Pfad gibt den Speicherort für den MSBuild-Installationsordner an. Er kann zurückgesetzt werden, um lokale benutzerspezifische Anpassungen bereitzustellen. Weitere Informationen finden Sie unter Anpassen des lokalen Builds.

Schließen Sie den abschließenden umgekehrten Schrägstrich nicht in den Pfad ein.
MSBuildVersion Reserviert Die Version von MSBuild, die zum Erstellen des Projekts verwendet wird.

Diese Eigenschaft kann nicht überschrieben werden. Andernfalls wird die Fehlermeldung MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. zurückgegeben.
16.11.0
MSBuildWarningsAsErrors Bekannt Eine Liste von Warnungscodes, die als Fehler behandelt werden sollen. MSB1234;MSB5678
MSBuildWarningsAsMessages Bekannt Eine Liste von Warnungscodes, die als Meldungen behandelt werden sollen. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Bekannt Eine Liste von Warnungscodes, die nicht auf Fehler heraufgestuft werden sollen, auch wenn der Schalter -warnAsError so festgelegt ist, dass alle anderen Warnungen auf Fehler heraufgestuft werden. Beachten Sie, dass dies keine Auswirkungen hat, wenn dieser Wert nicht TRUE ist. MSB1234;MSB5678
OS Bekannt Unter Windows wird dies vom Hostbetriebssystem geerbt. Mögliche Werte sind „Windows_NT“ und „Unix“. Kann unter anderen Betriebssystemen als Windows auf andere Werte festgelegt werden.
RoslynTargetsPath Bekannt Der Pfad zu den Roslyn-Compilern. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Bekannt Der Pfad zu den .NET Framework 3.5-Tools.
SDK40ToolsPath Bekannt Der Pfad zu den .NET Framework 4.0-Tools. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Bekannt Der Visual Studio-Installationsordner. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Bekannt
Eigenschaft Reserviert oder bekannt Beschreibung Beispiel
FrameworkSDKRoot Bekannt Pfad zum Stammordner für .NET Framework-Tools. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Bekannt Gibt den Eigenschaftennamen an, der die Builddimension zur Festlegung von Zielversionen definiert (gilt nur, wenn der aktuelle Build ein Graphbuild ist) TargetFramework
InnerBuildPropertyValues Bekannt Gibt den Eigenschaftennamen an, der die möglichen Werte für die InnerBuildProperty enthält (gilt nur, wenn der aktuelle Build ein Graphbuild ist) TargetFrameworks
IsGraphBuild Bekannt True, wenn es sich um einen Graphbuild handelt, d. h., die Option -graphBuild ist aktiviert. Diese Option bedeutet, dass MSBuild einen Projektgraph erstellt. Das Konstruieren eines Graphs beinhaltet das Identifizieren der Projektverweise, um Abhängigkeiten zu erstellen. Das Erstellen dieses Graphs beinhaltet den Versuch, Projektverweise vor den Projekten zu erstellen, die die Verweise enthalten. Dieses Vorgehen unterscheidet sich vom herkömmlichen MSBuild-Vorgehen.
MSBuildAssemblyVersion Reserviert Die Version der MSBuild-Assemblys, die zum Erstellen des Projekts verwendet wird. 17.0
MSBuildBinPath Reserviert Der absolute Pfad des Ordners, in dem sich die zurzeit verwendeten MSBuild-Binärdateien befinden (zum Beispiel C:\Windows\Microsoft.Net\Framework\<versionNummer>). 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Reserviert Wird von MSBuild und Microsoft SDKs zum Verwalten von Änderungswellen verwendet.
MSBuildExtensionsPath Bekannt 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 niedriger verweist der Standardwert von MSBuildExtensionsPath auf den Pfad des MSBuild-Unterordners unter den Ordnern \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"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Bekannt Der Pfad zu dem MSBuild-Unterordner unter dem Ordner \Programme oder \Programme (x86) . Dieser Pfad führt stets zum 32-Bit-Ordner \Programme auf einem 32-Bit-Computer und zu \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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Bekannt Der Pfad des MSBuild-Unterordners im 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.
C:\Program Files\MSBuild
MSBuildFileVersion Reserviert Die vierteilige Version der MSBuild-Assemblys, die zum Erstellen des Projekts verwendet wird. 17.4.0.46505
MSBuildFrameworkToolsPath Bekannt Der Pfad zu den .NET Framework-Tools, mit dem der aktuell ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Bekannt Der Pfad zur 32-Bit-Version der .NET Framework-Tools für die Frameworkversion, mit der das aktuell ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Bekannt Der Pfad zur 64-Bit-Version der .NET Framework-Tools für die Frameworkversion, mit der das aktuell ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Reserviert Der Wert dieser Eigenschaft ist true, wenn MSBuild interaktiv ausgeführt wird, wodurch Benutzereingaben zugelassen werden. Diese Einstellung wird von der Befehlszeilenoption -interactive gesteuert. false
MSBuildLastTaskResult Reserviert 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:

– Wenn für das ContinueOnError-Attribut des Aufgabenelements (MSBuild)WarnAndContinue (oder true) bzw. ErrorAndContinue festgelegt wird.

– Wenn Target über ein OnError-Element (MSBuild) als untergeordnetes Element verfügt.
true
MSBuildNodeCount Reserviert 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 sowie unter Paralleles Erstellen von mehreren Projekten mit MSBuild. 1
MSBuildOverrideTasksPath Bekannt Der Speicherort, an dem nach Dateien vom Typ .overridetasks gesucht werden soll. Diese können zum Bereitstellen benutzerdefinierter Versionen von Standardaufgaben verwendet werden. Weitere Informationen finden Sie unter MSBuild-Aufgaben.

Schließen Sie den abschließenden umgekehrten Schrägstrich nicht in den Pfad ein.
MSBuildProgramFiles32 Reserviert Der Speicherort des Ordners für 32-Bit-Programme, beispielsweise C:\Programme (x86) .

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Reserviert 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" >
Build
MSBuildProjectDirectory Reserviert 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.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Reserviert Der Wert der MSBuildProjectDirectory-Eigenschaft, ausschließlich des Stammlaufwerks.

Schließen Sie nicht den abschließenden umgekehrten Schrägstrich in dieser Eigenschaft ein.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Reserviert Die Erweiterung der Projektdatei, einschließlich des Punkts, z.B. .proj. .csproj
MSBuildProjectFile Reserviert Der vollständige Dateiname der Projektdatei, einschließlich der Erweiterung, z.B. MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Reserviert Der absolute Pfad und der vollständige Dateiname der Projektdatei, einschließlich der Erweiterung, beispielsweise C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Reserviert Der Dateiname der Projektdatei ohne die Erweiterung, z.B. MyApp. ConsoleApp1
MSBuildRuntimeType Reserviert Der Typ der Laufzeit, der derzeit ausgeführt wird. Eingeführt in MSBuild 15. Der Wert ist möglicherweise nicht definiert (vor MSBuild 15). Full gibt an, dass MSBuild auf dem Desktop .NET Framework ausgeführt wird, Core, dass MSBuild unter .NET Core ausgeführt wird (z. B. in dotnet build) und Mono, dass MSBuild unter Mono ausgeführt wird. Full
MSBuildStartupDirectory Reserviert 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.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Reserviert Der Teil von MSBuildThisFileFullPath, der den Dateinamen und die Dateierweiterung angibt. ConsoleApp1.csproj
MSBuildThisFileDirectory Reserviert Der Teil von MSBuildThisFileFullPath, der das Verzeichnis angibt.

Schließen Sie den abschließenden umgekehrten Schrägstrich in den Pfad ein.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Reserviert 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.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Reserviert Der Teil von MSBuildThisFileFullPath, der die Dateinamenerweiterung angibt. .csproj
MSBuildThisFileFullPath Reserviert 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.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Reserviert Der Teil von MSBuildThisFileFullPath, der den Dateinamen angibt, jedoch ohne die Dateinamenerweiterung. ConsoleApp1
MSBuildToolsPath Reserviert 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Bekannt Der Installationspfad der 32-Bit-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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Bekannt Der Installationspfad der 64-Bit-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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Reserviert 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) sowie unter Standardmäßige und benutzerdefinierte Toolsetkonfigurationen.
Current
MSBuildSDKsPath Bekannt Der Pfad, den MSBuild für die Suche nach SDKs verwendet. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Reserviert Die vollständige, SemVer 2.0-Version der MSBuild-Assemblys, die zum Erstellen des Projekts verwendet wird. 17.4.0-preview-22465-05+6033e4c95
MSBuildUserExtensionsPath Bekannt Dieser Pfad gibt den Speicherort für den MSBuild-Installationsordner an. Er kann zurückgesetzt werden, um lokale benutzerspezifische Anpassungen bereitzustellen. Weitere Informationen finden Sie unter Anpassen des lokalen Builds.

Schließen Sie den abschließenden umgekehrten Schrägstrich nicht in den Pfad ein.
MSBuildVersion Reserviert Die Version von MSBuild, die zum Erstellen des Projekts verwendet wird.

Diese Eigenschaft kann nicht überschrieben werden. Andernfalls wird die Fehlermeldung MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. zurückgegeben.
17.4.0
MSBuildWarningsAsErrors Bekannt Eine Liste von Warnungscodes, die als Fehler behandelt werden sollen. MSB1234;MSB5678
MSBuildWarningsAsMessages Bekannt Eine Liste von Warnungscodes, die als Meldungen behandelt werden sollen. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Bekannt Eine Liste von Warnungscodes, die nicht auf Fehler heraufgestuft werden sollen, auch wenn der Schalter -warnAsError so festgelegt ist, dass alle anderen Warnungen auf Fehler heraufgestuft werden. Beachten Sie, dass dies keine Auswirkungen hat, wenn dieser Wert nicht TRUE ist. MSB1234;MSB5678
OS Bekannt Unter Windows wird dies vom Hostbetriebssystem geerbt. Mögliche Werte sind „Windows_NT“ und „Unix“. Kann unter anderen Betriebssystemen als Windows auf andere Werte festgelegt werden.
RoslynTargetsPath Bekannt Der Pfad zu den Zielen für Roslyn-Compiler. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Bekannt Der Pfad zu den .NET Framework 3.5-Tools.
SDK40ToolsPath Bekannt Der Pfad zu den .NET Framework 4.0-Tools. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Bekannt Der Visual Studio-Installationsordner. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Bekannt Der Pfad zum Windows 8 SDK.

Eigenschaften, die für C++-Projekte spezifisch sind.

Die folgenden Eigenschaften repräsentieren den Pfad zu den C++ MSBuild-Importdateien (z. B. .props- und .targets- Dateien), für verschiedene C++ Toolsetversionen und Zielbetriebssysteme. Die Dateien in diesen Ordnern repräsentieren die C++-Buildinfrastruktur und sind für die Erstellung jedes C++-Projekts mit MSBuild unerlässlich.

Eigenschaft Reserviert oder bekannt Beschreibung Beispiel
AndroidTargetsPath Bekannt Der Pfad zu C++ MSBuild-Importdateien für Android-Builds. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Bekannt Der Pfad zu C++ MSBuild-Importdateien für iOS-Builds. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Bekannt Der Pfad zu C++ MSBuild-Dateien, die das C++-Buildsystem unterstützen. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Bekannt Der Pfad zu C++ MSBuild-Dateien, die das Visual Studio 2010-Toolset unterstützen. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Bekannt Der Pfad zu den MSBuild-Importdateien für das Visual Studio 2012-Toolset (V110). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Bekannt Der Pfad zu den MSBuild-Importdateien für das Visual Studio 2013-Toolset (V120). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Bekannt Der Pfad zu den MSBuild-Importdateien für das Visual Studio 2015-Toolset (V140). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

Namen, die Konflikte mit MSBuild-Elementen auslösen

Zusätzlich zu den oben genannten können MSBuild-Sprachelemente entsprechende Namen nicht für benutzerdefinierte Eigenschaften, Elemente oder Elementmetadaten verwendet werden:

  • VisualStudioProject
  • Target
  • PropertyGroup
  • Output
  • ItemGroup
  • UsingTask
  • ProjectExtensions
  • OnError
  • ImportGroup
  • Choose
  • When
  • Otherwise

Siehe auch