Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MSBuild stellt eine Reihe vordefinierter Eigenschaften bereit, die Informationen über die Projektdatei und die MSBuild-Binärdateien speichern. Diese Eigenschaften werden auf die gleiche Weise wie andere MSBuild-Eigenschaften ausgewertet. Wenn Sie z. B. die MSBuildProjectFile Eigenschaft verwenden möchten, geben Sie folgendes ein $(MSBuildProjectFile).
MSBuild verwendet die Werte in der folgenden Tabelle, um reservierte und bekannte Eigenschaften zu definieren. Reservierte Eigenschaften können nicht außer Kraft gesetzt werden, und die meisten bekannten Eigenschaften sollten nicht außer in erweiterten Szenarien überschrieben werden.
Reservierte und bekannte Eigenschaften
Die Tabelle in diesem Abschnitt zeigt die vordefinierten MSBuild-Eigenschaften. Die Beispielspalte in der Tabelle bezieht sich auf die folgende Beispielprojektdatei, von der angenommen wird, dass sie sich befindet C:\Source\Repos\ConsoleApp1\ConsoleApp1, und zeigt ein Beispiel für die Werte, die diese Eigenschaften haben, wenn auf die Projektdatei zugegriffen wird, wenn MSBuild ohne spezielle Befehlszeilenoptionen aufgerufen wird.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
| Eigentum | Reserviert oder bekannt | Description | Example |
|---|---|---|---|
FrameworkSDKRoot |
Berühmt | Pfad zum Stammordner für .NET Framework-Tools. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\ |
InnerBuildProperty |
Berühmt | Gibt den Eigenschaftsnamen an, der die Multitargeting-Builddimension definiert (gilt nur, wenn der aktuelle Build ein Graph-Build ist). | TargetFramework |
InnerBuildPropertyValues |
Berühmt | Gibt den Eigenschaftsnamen an, der die möglichen Werte für das InnerBuildProperty Objekt enthält (gilt nur, wenn der aktuelle Build ein Graph-Build ist). |
TargetFrameworks |
IsGraphBuild |
Berühmt |
True wenn es sich um einen Graph-Build handelt; d. h., die -graphBuild Option ist wirksam. Diese Option bedeutet, dass MSBuild ein Projektdiagramm erstellt und erstellt. Das Erstellen eines Diagramms umfasst das Identifizieren von Projektbezügen auf Formularabhängigkeiten. Das Erstellen dieses Diagramms umfasst den Versuch, Projektverweise vor den Projekten zu erstellen, die darauf verweisen, und unterscheidet sich von der herkömmlichen MSBuild-Planung. |
|
MSBuildAssemblyVersion |
Reserviert | Die Version von MSBuild-Assemblys, die zum Erstellen des Projekts verwendet werden. | 17.0 |
MSBuildBinPath |
Reserviert | Der absolute Pfad des Ordners, in dem sich die derzeit verwendeten MSBuild-Binärdateien befinden (z. B. C:\Windows\Microsoft.Net\Framework\<versionNumber>). Diese Eigenschaft ist nützlich, wenn Sie auf Dateien im MSBuild-Verzeichnis verweisen müssen. Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese 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 |
Berühmt | In .NET Framework 4 eingeführt: Es gibt keinen Unterschied zwischen den Standardwerten und MSBuildExtensionsPathMSBuildExtensionsPath32. Sie können die Umgebungsvariable MSBUILDLEGACYEXTENSIONSPATH auf einen Wert ungleich NULL festlegen, um das Verhalten des Standardwerts MSBuildExtensionsPath in früheren Versionen zu aktivieren.Im .NET Framework 3.5 und früheren Versionen verweist der Standardwert MSBuildExtensionsPath auf den Pfad des MSBuild-Unterordners unter dem Ordner \Programme\ oder \Programme (x86), je nach Bitanzahl des aktuellen Prozesses. Bei einem 32-Bit-Prozess auf einem 64-Bit-Computer verweist diese Eigenschaft beispielsweise auf den Ordner \Programme (x86). Bei einem 64-Bit-Prozess auf einem 64-Bit-Computer verweist diese Eigenschaft auf den Ordner "\Programme" .Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. Dieser Speicherort ist ein nützlicher Ort, um benutzerdefinierte Zieldateien zu platzieren. Ihre Zieldateien können beispielsweise unter \Program Files\MSBuild\MyFiles\Northwind.targets installiert und dann mithilfe dieses XML-Codes in Projektdateien importiert werden: <Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/> |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath32 |
Berühmt | Der Pfad des MSBuild-Unterordners unter dem Ordner \Programme oder \Programme (x86). Der Pfad verweist immer auf den 32-Bit-Ordner \Programme (x86) auf einem 32-Bit-Computer und \Programme auf einem 64-Bit-Computer.". Siehe auch MSBuildExtensionsPath und MSBuildExtensionsPath64.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath64 |
Berühmt | Der Pfad des MSBuild-Unterordners unter dem Ordner "\Programme" . Bei einem 64-Bit-Computer verweist dieser Pfad immer auf den Ordner \Programme . Für einen 32-Bit-Computer ist dieser Pfad leer. Siehe auch MSBuildExtensionsPath und MSBuildExtensionsPath32.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. |
C:\Program Files\MSBuild |
MSBuildFileVersion |
Reserviert | Die vierteilige Version von MSBuild-Assemblys, die zum Erstellen des Projekts verwendet werden. | 17.4.0.46505 |
MSBuildFrameworkToolsPath |
Berühmt | Der Pfad zu den .NET Framework-Tools, mit denen die derzeit ausgeführte MSBuild erstellt wurde, mit einem nachgestellten Schrägstrich. | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ |
MSBuildFrameworkToolsPath32 |
Berühmt | Der Pfad zur 32-Bit-Version der .NET Framework-Tools für dieselbe Framework-Version, mit der die derzeit ausgeführte MSBuild-Version erstellt wurde, mit einem nachgestellten Schrägstrich. | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ |
MSBuildFrameworkToolsPath64 |
Berühmt | Der Pfad zur 64-Bit-Version der .NET Framework-Tools für dieselbe Framework-Version, mit der die derzeit ausgeführte MSBuild-Version erstellt wurde, mit einem nachgestellten Schrägstrich. | C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ |
MSBuildInteractive |
Reserviert |
true wenn MSBuild interaktiv ausgeführt wird, sodass Benutzereingaben möglich sind. Diese Einstellung wird durch die -interactive Befehlszeilenoption gesteuert. |
false |
MSBuildLastTaskResult |
Reserviert |
true wenn der vorherige Vorgang ohne Fehler abgeschlossen wurde (auch wenn Warnungen vorhanden waren) oder false wenn der vorherige Vorgang Fehler hatte. Wenn in einem Vorgang ein Fehler auftritt, ist der Fehler in der Regel das letzte, was in diesem Projekt geschieht. Daher ist der Wert dieser Eigenschaft niemals false, außer in diesen Szenarien:- Wenn das ContinueOnError Attribut des Task-Elements (MSBuild) auf WarnAndContinue (oder true) festgelegt ErrorAndContinueist.– Wenn das Target Element ein OnError-Element (MSBuild) als untergeordnetes Element aufweist. |
true |
MSBuildNodeCount |
Reserviert | Die maximale Anzahl gleichzeitiger Prozesse, die beim Erstellen verwendet werden. Dies ist der Wert, den Sie für "-maxcpucount " in der Befehlszeile angegeben haben. Wenn Sie "-maxcpucount " ohne Angabe eines Werts angegeben haben, gibt sie MSBuildNodeCount die Anzahl der Prozessoren auf dem Computer an. Weitere Informationen finden Sie unter Befehlszeilenverweis und Erstellen mehrerer Projekte parallel. |
1 |
MSBuildOverrideTasksPath |
Berühmt | Der Speicherort für die Suche nach .overridetasks Dateien, die verwendet werden können, um benutzerdefinierte Versionen von Standardaufgaben bereitzustellen. Siehe MSBuild-Aufgaben.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht in den Pfad ein. |
|
MSBuildProgramFiles32 |
Reserviert | Der Speicherort des 32-Bit-Programmordners; Beispiel : C:\Program Files (x86). Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. |
C:\Program Files (x86) |
MSBuildProjectDefaultTargets |
Reserviert | Die vollständige Liste der Ziele, die DefaultTargets im Attribut des Project Elements angegeben sind. Das folgende Project Element würde z. B. einen MSBuildDefaultTargets Eigenschaftswert von A;B;C:<Project DefaultTargets="A;B;C" > |
Build |
MSBuildProjectDirectory |
Reserviert | Der absolute Pfad des Verzeichnisses, in dem sich die Projektdatei befindet, z. B. C:\MyCompany\MyProduct. Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. |
C:\Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectDirectoryNoRoot |
Reserviert | Der Wert der MSBuildProjectDirectory Eigenschaft, mit Ausnahme des Stammlaufwerks.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. |
Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectExtension |
Reserviert | Die Dateinamenerweiterung der Projektdatei, einschließlich des Zeitraums; beispiel: .proj. | .csproj |
MSBuildProjectFile |
Reserviert | Der vollständige Dateiname der Projektdatei, einschließlich der Dateinamenerweiterung; Beispiel: MyApp.proj. | ConsoleApp1.csproj |
MSBuildProjectFullPath |
Reserviert | Der absolute Pfad und der vollständige Dateiname der Projektdatei, einschließlich der Dateinamenerweiterung; Beispiel : C:\MyCompany\MyProduct\MyApp.proj. | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildProjectName |
Reserviert | Der Dateiname der Projektdatei ohne Dateinamenerweiterung; Beispiel: MyApp. | ConsoleApp1 |
MSBuildRuntimeType |
Reserviert | Der Typ der laufzeit, die derzeit ausgeführt wird. Eingeführt in MSBuild 15. Der Wert kann nicht definiert sein (vor MSBuild 15), Full der angibt, dass MSBuild auf dem Desktop .NET Framework ausgeführt wird und angibt, Core dass MSBuild auf .NET Core (z. B. in dotnet build) ausgeführt wird oder Mono angibt, dass MSBuild auf Mono ausgeführt wird. |
Full |
MSBuildStartupDirectory |
Reserviert | Der absolute Pfad des Ordners, in dem MSBuild aufgerufen wird. Mithilfe dieser Eigenschaft können Sie alles unter einem bestimmten Punkt in einer Projektstruktur erstellen, ohne dirs.proj-Dateien< in jedem Verzeichnis zu erstellen>. Stattdessen haben Sie nur ein Projekt, z. B . c:\traversal.proj, wie hier gezeigt:<Project ...> <ItemGroup> <ProjectFiles Include="$ (MSBuildStartupDirectory) **\*.csproj"/> </ItemGroup> <Target Name="build"> <MSBuild Projects="@(ProjectFiles)"/> </Target> </Project>Um an einem beliebigen Punkt in der Struktur zu erstellen, geben Sie Folgendes ein: msbuild c:\traversal.projSchließen Sie den endgültigen umgekehrten Schrägstrich nicht für diese Eigenschaft ein. |
c:\Source\Repos\ConsoleApp1 |
MSBuildThisFile |
Reserviert | Der Dateiname und der Dateierweiterungsteil von MSBuildThisFileFullPath. |
ConsoleApp1.csproj |
MSBuildThisFileDirectory |
Reserviert | Der Verzeichnisteil von MSBuildThisFileFullPath.Schließen Sie den endgültigen umgekehrten Schrägstrich in den Pfad ein. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileDirectoryNoRoot |
Reserviert | Der Verzeichnisteil von MSBuildThisFileFullPath, mit Ausnahme des Stammlaufwerks.Schließen Sie den endgültigen umgekehrten Schrägstrich in den Pfad ein. |
Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileExtension |
Reserviert | Der Dateinamenerweiterungsteil von MSBuildThisFileFullPath. |
.csproj |
MSBuildThisFileFullPath |
Reserviert | Der absolute Pfad des Projekts oder der Zieldatei, die das ausgeführte Ziel enthält. Tipp: Sie können einen relativen Pfad in einer Zieldatei angeben, die relativ zur Zieldatei und nicht relativ zur ursprünglichen Projektdatei ist. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildThisFileName |
Reserviert | Der Dateinameteil von MSBuildThisFileFullPath, ohne die Dateinamenerweiterung. |
ConsoleApp1 |
MSBuildToolsPath |
Reserviert | Der Installationspfad der MSBuild-Version, die dem Wert von MSBuildToolsVersionzugeordnet ist.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht in den Pfad ein. Diese Eigenschaft kann nicht außer Kraft gesetzt werden. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsPath32 |
Berühmt | Der Installationspfad der 32-Bit-MSBuild-Version, die dem Wert von MSBuildToolsVersionzugeordnet ist.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht in den Pfad ein. Diese Eigenschaft kann nicht außer Kraft gesetzt werden. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin |
MSBuildToolsPath64 |
Berühmt | Der Installationspfad der 64-Bit-MSBuild-Version, die dem Wert von MSBuildToolsVersionzugeordnet ist.Schließen Sie den endgültigen umgekehrten Schrägstrich nicht in den Pfad ein. Diese Eigenschaft kann nicht außer Kraft gesetzt werden. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsVersion |
Reserviert | Die Version des MSBuild Toolset, 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 gehören Compiler wie csc.exe und vbc.exe. Weitere Informationen finden Sie unter Toolset (ToolsVersion)- und Standard- und benutzerdefinierte Toolsetkonfigurationen. |
Current |
MSBuildSDKsPath |
Berühmt | Der Pfad MSBuild verwendet, um SDKs zu finden. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks |
MSBuildSemanticVersion |
Reserviert | Die vollständige Semver 2.0-Version von MSBuild-Assemblys, die zum Erstellen des Projekts verwendet werden. | 17.4.0-preview-22465-05+6033e4c95 |
MSBuildUserExtensionsPath |
Berühmt | Dieser Pfad stellt den Speicherort für den MSBuild-Installationsordner bereit. Sie kann zurückgesetzt werden, um lokale Anpassungen pro Benutzer bereitzustellen. Siehe "Anpassen Ihres lokalen Builds". Schließen Sie den endgültigen 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 außer Kraft gesetzt werden, andernfalls wird die Fehlermeldung MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. zurückgegeben. |
17.4.0 |
MSBuildWarningsAsErrors |
Berühmt | Eine Liste der Warnungscodes, die als Fehler behandelt werden sollen. | MSB1234;MSB5678 |
MSBuildWarningsAsMessages |
Berühmt | Eine Liste der Warncodes, die als Nachrichten behandelt werden sollen. | MSB1234;MSB5678 |
MSBuildWarningsNotAsErrors |
Berühmt | Eine Liste der Warnungscodes, die nicht auf Fehler heraufgestuft werden sollten, auch wenn der -warnAsError Schalter so eingestellt ist, dass alle anderen Warnungen auf Fehler höhergestuft werden. Beachten Sie, dass sie keine Auswirkung hat, wenn dies nicht zutrifft. |
MSB1234;MSB5678 |
OS |
Berühmt | Unter Windows wird dies vom Hostbetriebssystem geerbt. Mögliche Werte sind "Windows_NT" und "Unix"; kann auf andere Betriebssysteme als Windows auf unterschiedliche Werte festgelegt werden. | |
RoslynTargetsPath |
Berühmt | Pfad zu Zielen für Roslyn-Compiler. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn |
SDK35ToolsPath |
Berühmt | Pfad zu .NET Framework 3.5-Tools. | |
SDK40ToolsPath |
Berühmt | Pfad zu .NET Framework 4.0-Tools. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ |
VsInstallRoot |
Berühmt | Der Visual Studio-Installationsordner. | C:\Program Files\Microsoft Visual Studio\2022 |
WindowsSDK80Path |
Berühmt | Pfad zum Windows 8 SDK. |
Für C++-Projekte spezifische Eigenschaften
Die folgenden Eigenschaften stellen den Pfad zu den C++-MSBuild-Importdateien wie .props und .targets Dateien für verschiedene MSVC Build Tools (Toolset)-Versionen und Zielbetriebssysteme dar. Die Dateien in diesen Ordnern stellen die C++-Buildinfrastruktur dar und sind für die Erstellung eines beliebigen C++-Projekts mit MSBuild unerlässlich.
| Eigentum | Reserviert oder bekannt | Description | Example |
|---|---|---|---|
AndroidTargetsPath |
Berühmt | Pfad zu C++-MSBuild-Importdateien für Android-Builds. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\ |
iOSTargetsPath |
Berühmt | Pfad zu C++-MSBuild-Importdateien für iOS-Builds. | C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\ |
VCTargetsPath |
Berühmt | Pfad zu C++-MSBuild-Dateien, die das C++-Buildsystem unterstützen. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\ |
VCTargetsPath10 |
Berühmt | Pfad zu C++-MSBuild-Dateien, die das Visual Studio 2010-Toolset unterstützen. | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\ |
VCTargetsPath11 |
Berühmt | Pfad zu den MSBuild-Importdateien für das Visual Studio 2012 (V110)-Toolset. | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\ |
VCTargetsPath12 |
Berühmt | Pfad zu den MSBuild-Importdateien für das Visual Studio 2013 (V120)-Toolset. | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\ |
VCTargetsPath14 |
Berühmt | Pfad zu den MSBuild-Importdateien für das Visual Studio 2015 (V140)-Toolset. | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\ |
Namen, die mit MSBuild-Elementen in Konflikt geraten
Zusätzlich zu den obigen Können namen, die MSBuild-Sprachelementen entsprechen, nicht für benutzerdefinierte Eigenschaften, Elemente oder Elementmetadaten verwendet werden:
- VisualStudioProject
- Ziel
- PropertyGroup
- Output
- ItemGroup
- UsingTask
- ProjectExtensions
- OnError
- ImportGroup
- Wahl
- Wann
- Sonst