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