Zarezerwowane i dobrze znane właściwości programu MSBuild

Program MSBuild udostępnia zestaw wstępnie zdefiniowanych właściwości, które przechowują informacje o pliku projektu i plikach binarnych MSBuild. Te właściwości są oceniane w taki sam sposób, jak inne właściwości programu MSBuild. Aby na przykład użyć MSBuildProjectFile właściwości, wpisz .$(MSBuildProjectFile)

Program MSBuild używa wartości w poniższej tabeli do wstępnie zdefiniowanych zastrzeżonych i dobrze znanych właściwości. Nie można zastąpić właściwości zarezerwowanych, a najbardziej znane właściwości nie powinny być zastępowane z wyjątkiem scenariuszy zaawansowanych.

Zastrzeżone i dobrze znane właściwości

W tabeli w tej sekcji przedstawiono wstępnie zdefiniowane właściwości programu MSBuild. Przykładowa kolumna w tabeli odnosi się do następującego przykładowego pliku projektu, zakłada się, że znajduje się w C:\Source\Repos\ConsoleApp1\ConsoleApp1lokalizacji , i pokazuje przykład wartości, które te właściwości mają podczas uzyskiwania dostępu do pliku projektu, gdy program MSBuild jest wywoływany bez specjalnych opcji wiersza polecenia.

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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Właściwości Zarezerwowane lub dobrze znane opis Przykład
FrameworkSDKRoot Dobrze znane Ścieżka do folderu głównego narzędzi .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Dobrze znane Określa nazwę właściwości, która definiuje wymiar kompilacji wielotargetingowej (dotyczy tylko wtedy, gdy bieżąca kompilacja jest kompilacją grafu). TargetFramework
InnerBuildPropertyValues Dobrze znane Określa nazwę właściwości, która zawiera możliwe wartości elementu InnerBuildProperty (dotyczy tylko wtedy, gdy bieżąca kompilacja jest kompilacją grafu). TargetFrameworks
IsGraphBuild Dobrze znane Truejeśli jest to kompilacja grafu, oznacza to, że -graphBuild opcja jest w mocy. Ta opcja oznacza, że program MSBuild konstruuje i kompiluje graf projektu. Konstruowanie grafu obejmuje identyfikowanie odwołań do projektu w celu utworzenia zależności. Kompilowanie tego grafu obejmuje próbę skompilowania odwołań projektu przed projektami odwołującymi się do nich, różniąc się od tradycyjnego planowania programu MSBuild.
MSBuildAssemblyVersion Zarezerwowana Wersja zestawów MSBuild używanych do kompilowania projektu. 16.0
MSBuildBinPath Zarezerwowana Ścieżka bezwzględna folderu, w którym znajdują się pliki binarne MSBuild, które są obecnie używane (na przykład C:\Windows\Microsoft.Net\Framework\<versionNumber>). Ta właściwość jest przydatna, jeśli musisz odwołać się do plików w katalogu MSBuild.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Zarezerwowana Używane przez zestawy SDK MSBuild i Microsoft do zarządzania falami zmian.
MSBuildExtensionsPath Dobrze znane Wprowadzone w programie .NET Framework 4: nie ma różnicy między wartościami domyślnymi i MSBuildExtensionsPathMSBuildExtensionsPath32. Możesz ustawić zmienną MSBUILDLEGACYEXTENSIONSPATH środowiskową na wartość inną niż null, aby umożliwić zachowanie domyślnej MSBuildExtensionsPath wartości we wcześniejszych wersjach.

W programie .NET Framework 3.5 lub starszym wartość MSBuildExtensionsPath domyślna wskazuje ścieżkę podfolderu MSBuild w folderze \Program Files\ lub \Program Files (x86), w zależności od bitów bieżącego procesu. Na przykład w przypadku procesu 32-bitowego na 64-bitowej maszynie ta właściwość wskazuje folder \Program Files (x86). W przypadku procesu 64-bitowego na 64-bitowej maszynie ta właściwość wskazuje folder \Program Files .

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.

Ta lokalizacja jest przydatna do umieszczania niestandardowych plików docelowych. Na przykład pliki docelowe można zainstalować w folderze \Program Files\MSBuild\MyFiles\Northwind.targets , a następnie zaimportować je do plików projektu przy użyciu tego kodu XML:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Dobrze znane Ścieżka podfolderu MSBuild w folderze \Program Files lub \Program Files (x86). Ścieżka zawsze wskazuje 32-bitowy folder \Program Files (x86) na 32-bitowej maszynie i \Program Files na 64-bitowej maszynie. Zobacz również MSBuildExtensionsPath i MSBuildExtensionsPath64.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Dobrze znane Ścieżka podfolderu MSBuild w folderze \Program Files . W przypadku 64-bitowej maszyny ta ścieżka zawsze wskazuje folder \Program Files . W przypadku maszyny 32-bitowej ta ścieżka jest pusta. Zobacz również MSBuildExtensionsPath i MSBuildExtensionsPath32.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files\MSBuild
MSBuildFileVersion Zarezerwowana 4-częściowa wersja zestawów MSBuild używanych do kompilowania projektu. 16.11.0.30701
MSBuildFrameworkToolsPath Dobrze znane Ścieżka do narzędzi programu .NET Framework, z których utworzono obecnie program MSBuild, z ukośnikiem końcowym. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Dobrze znane Ścieżka do 32-bitowej wersji narzędzi .NET Framework dla tej samej wersji platformy, z którą utworzono obecnie program MSBuild z ukośnikiem końcowym. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Dobrze znane Ścieżka do 64-bitowej wersji narzędzi .NET Framework dla tej samej wersji platformy, z którą jest obecnie wykonywany program MSBuild, z ukośnikiem końcowym. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Zarezerwowana true Jeśli program MSBuild działa interaktywnie, zezwalając na wprowadzanie danych przez użytkownika. To ustawienie jest kontrolowane przez -interactive opcję wiersza polecenia. false
MSBuildLastTaskResult Zarezerwowana true jeśli poprzednie zadanie zostało ukończone bez żadnych błędów (nawet jeśli wystąpiły ostrzeżenia) lub false jeśli poprzednie zadanie zawiera błędy. Zazwyczaj w przypadku wystąpienia błędu w zadaniu błąd jest ostatnią rzeczą, która występuje w tym projekcie. W związku z tym wartość tej właściwości nigdy nie falsejest wartością , z wyjątkiem następujących scenariuszy:

- Gdy ContinueOnError atrybut elementu task (MSBuild) jest ustawiony na WarnAndContinue (lub true) lub ErrorAndContinue.

— Gdy element Target OnError (MSBuild) jest elementem podrzędnym.
true
MSBuildNodeCount Zarezerwowana Maksymalna liczba współbieżnych procesów używanych podczas kompilowania. Jest to wartość określona dla parametru -maxcpucount w wierszu polecenia. Jeśli określono parametr -maxcpucount bez określania wartości, określa MSBuildNodeCount liczbę procesorów na komputerze. Aby uzyskać więcej informacji, zobacz Dokumentacja wiersza polecenia i Równoległe kompilowanie wielu projektów. 1
MSBuildOverrideTasksPath Dobrze znane Lokalizacja do wyszukiwania .overridetasks plików, które mogą służyć do udostępniania niestandardowych wersji standardowych zadań. Zobacz Zadania programu MSBuild.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.
MSBuildProgramFiles32 Zarezerwowana Lokalizacja folderu 32-bitowego programu; na przykład C:\Program Files (x86).

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Zarezerwowana Pełna lista obiektów docelowych określonych w atrybucie DefaultTargetsProject elementu. Na przykład następujący Project element będzie miał MSBuildDefaultTargets wartość A;B;Cwłaściwości :

<Project DefaultTargets="A;B;C" >
Build
MSBuildProjectDirectory Zarezerwowana Ścieżka bezwzględna katalogu, w którym znajduje się plik projektu, na przykład C:\MyCompany\MyProduct.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Zarezerwowana Wartość MSBuildProjectDirectory właściwości, z wyłączeniem dysku głównego.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Zarezerwowana Rozszerzenie nazwy pliku projektu, w tym kropkę; na przykład .proj. .csproj
MSBuildProjectFile Zarezerwowana Pełna nazwa pliku projektu, w tym rozszerzenie nazwy pliku; na przykład MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Zarezerwowana Ścieżka bezwzględna i pełna nazwa pliku projektu, w tym rozszerzenie nazwy pliku; na przykład C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Zarezerwowana Nazwa pliku projektu bez rozszerzenia nazwy pliku; na przykład MyApp. ConsoleApp1
MSBuildRuntimeType Zarezerwowana Typ aktualnie wykonywanego środowiska uruchomieniowego. Wprowadzono w programie MSBuild 15. Wartość może być niezdefiniowana (wcześniej niż MSBuild 15), Full wskazująca, że program MSBuild jest uruchomiony na pulpicie programu .NET Framework, wskazując, że program MSBuild jest uruchomiony na platformie .NET Core (na przykład ), dotnet buildlub Mono wskazuje, Core że program MSBuild jest uruchomiony w środowisku Mono. Full
MSBuildSDKsPath Dobrze znane Ścieżka MSBuild używa do znajdowania zestawów SDK. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Zarezerwowana Pełna wersja semver 2.0 zestawów MSBuild używanych do kompilowania projektu. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Zarezerwowana Ścieżka bezwzględna folderu, w którym jest wywoływana biblioteka MSBuild. Za pomocą tej właściwości można utworzyć wszystko poniżej określonego punktu w drzewie projektu bez tworzenia <plików dirs.proj> w każdym katalogu. Zamiast tego masz tylko jeden projekt — na przykład c:\traversal.proj, jak pokazano poniżej:

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

Aby skompilować w dowolnym momencie drzewa, wpisz:

msbuild c:\traversal.proj

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Zarezerwowana Część nazwy pliku i rozszerzenia pliku .MSBuildThisFileFullPath ConsoleApp1.csproj
MSBuildThisFileDirectory Zarezerwowana Część katalogu .MSBuildThisFileFullPath

Dołącz końcowy ukośnik odwrotny do ścieżki.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Zarezerwowana Część katalogu z MSBuildThisFileFullPathwyłączeniem dysku głównego.

Dołącz końcowy ukośnik odwrotny do ścieżki.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Zarezerwowana Część rozszerzenia nazwy pliku .MSBuildThisFileFullPath .csproj
MSBuildThisFileFullPath Zarezerwowana Ścieżka bezwzględna pliku projektu lub docelowego, który zawiera element docelowy, który jest uruchomiony.

Porada: możesz określić ścieżkę względną w pliku docelowym, który jest powiązany z plikiem docelowym, a nie względem oryginalnego pliku projektu.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Zarezerwowana Część nazwy pliku bez MSBuildThisFileFullPathrozszerzenia nazwy pliku. ConsoleApp1
MSBuildToolsPath Zarezerwowana Ścieżka instalacji wersji programu MSBuild, która jest skojarzona z wartością MSBuildToolsVersion.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.

Nie można zastąpić tej właściwości.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Dobrze znane Ścieżka instalacji 32-bitowej wersji programu MSBuild, która jest skojarzona z wartością MSBuildToolsVersion.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.

Nie można zastąpić tej właściwości.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Dobrze znane Ścieżka instalacji 64-bitowej wersji programu MSBuild, która jest skojarzona z wartością MSBuildToolsVersion.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.

Nie można zastąpić tej właściwości.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Zarezerwowana Wersja zestawu narzędzi MSBuild używana do kompilowania projektu.

Uwaga: Zestaw narzędzi MSBuild składa się z zadań, elementów docelowych i narzędzi używanych do tworzenia aplikacji. Narzędzia obejmują kompilatory, takie jak csc.exe i vbc.exe. Aby uzyskać więcej informacji, zobacz Zestaw narzędzi (ToolsVersion) oraz Konfiguracje zestawów narzędzi w warstwie Standardowa i niestandardowej.
Current
MSBuildUserExtensionsPath Dobrze znane Ta ścieżka zawiera lokalizację folderu instalacyjnego MSBuild. Można go zresetować w celu zapewnienia lokalnych dostosowań dla poszczególnych użytkowników. Zobacz Dostosowywanie kompilacji lokalnej.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.
MSBuildVersion Zarezerwowana Wersja programu MSBuild używana do kompilowania projektu.

Nie można zastąpić tej właściwości. W przeciwnym razie zwracany jest komunikat MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. o błędzie.
16.11.0
MSBuildWarningsAsErrors Dobrze znane Lista kodów ostrzegawczych, które mają być traktowane jako błędy. MSB1234;MSB5678
MSBuildWarningsAsMessages Dobrze znane Lista kodów ostrzegawczych, które mają być traktowane jako komunikaty. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Dobrze znane Lista kodów ostrzegawczych, które nie powinny być promowane do błędów, nawet jeśli -warnAsError przełącznik jest ustawiony tak, aby podwyższyć poziom wszystkich innych ostrzeżeń do błędów. Należy pamiętać, że nie ma żadnego wpływu, jeśli tak nie jest. MSB1234;MSB5678
OS Dobrze znane W systemie Windows jest to dziedziczone z systemu operacyjnego hosta. Możliwe wartości obejmują "Windows_NT" i "Unix"; można ustawić na różne wartości w systemach operacyjnych innych niż Windows.
RoslynTargetsPath Dobrze znane Ścieżka do kompilatorów Roslyn. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Dobrze znane Ścieżka do narzędzi .NET Framework 3.5.
SDK40ToolsPath Dobrze znane Ścieżka do narzędzi programu .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Dobrze znane Folder instalacyjny programu Visual Studio. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Dobrze znane
Właściwości Zarezerwowane lub dobrze znane opis Przykład
FrameworkSDKRoot Dobrze znane Ścieżka do folderu głównego narzędzi .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Dobrze znane Określa nazwę właściwości, która definiuje wymiar kompilacji wielotargetingowej (dotyczy tylko wtedy, gdy bieżąca kompilacja jest kompilacją grafu). TargetFramework
InnerBuildPropertyValues Dobrze znane Określa nazwę właściwości, która zawiera możliwe wartości elementu InnerBuildProperty (dotyczy tylko wtedy, gdy bieżąca kompilacja jest kompilacją grafu). TargetFrameworks
IsGraphBuild Dobrze znane Truejeśli jest to kompilacja grafu, oznacza to, że -graphBuild opcja jest w mocy. Ta opcja oznacza, że program MSBuild konstruuje i kompiluje graf projektu. Konstruowanie grafu obejmuje identyfikowanie odwołań do projektu w celu utworzenia zależności. Kompilowanie tego grafu obejmuje próbę skompilowania odwołań projektu przed projektami odwołującymi się do nich, różniąc się od tradycyjnego planowania programu MSBuild.
MSBuildAssemblyVersion Zarezerwowana Wersja zestawów MSBuild używanych do kompilowania projektu. 17,0
MSBuildBinPath Zarezerwowana Ścieżka bezwzględna folderu, w którym znajdują się pliki binarne MSBuild, które są obecnie używane (na przykład C:\Windows\Microsoft.Net\Framework\<versionNumber>). Ta właściwość jest przydatna, jeśli musisz odwołać się do plików w katalogu MSBuild.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Zarezerwowana Używane przez zestawy SDK MSBuild i Microsoft do zarządzania falami zmian.
MSBuildExtensionsPath Dobrze znane Wprowadzone w programie .NET Framework 4: nie ma różnicy między wartościami domyślnymi i MSBuildExtensionsPathMSBuildExtensionsPath32. Możesz ustawić zmienną MSBUILDLEGACYEXTENSIONSPATH środowiskową na wartość inną niż null, aby umożliwić zachowanie domyślnej MSBuildExtensionsPath wartości we wcześniejszych wersjach.

W programie .NET Framework 3.5 lub starszym wartość MSBuildExtensionsPath domyślna wskazuje ścieżkę podfolderu MSBuild w folderze \Program Files\ lub \Program Files (x86), w zależności od bitów bieżącego procesu. Na przykład w przypadku procesu 32-bitowego na 64-bitowej maszynie ta właściwość wskazuje folder \Program Files (x86). W przypadku procesu 64-bitowego na 64-bitowej maszynie ta właściwość wskazuje folder \Program Files .

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.

Ta lokalizacja jest przydatna do umieszczania niestandardowych plików docelowych. Na przykład pliki docelowe można zainstalować w folderze \Program Files\MSBuild\MyFiles\Northwind.targets , a następnie zaimportować je do plików projektu przy użyciu tego kodu XML:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Dobrze znane Ścieżka podfolderu MSBuild w folderze \Program Files lub \Program Files (x86). Ścieżka zawsze wskazuje 32-bitowy folder \Program Files (x86) na 32-bitowej maszynie i \Program Files na 64-bitowej maszynie. Zobacz również MSBuildExtensionsPath i MSBuildExtensionsPath64.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Dobrze znane Ścieżka podfolderu MSBuild w folderze \Program Files . W przypadku 64-bitowej maszyny ta ścieżka zawsze wskazuje folder \Program Files . W przypadku maszyny 32-bitowej ta ścieżka jest pusta. Zobacz również MSBuildExtensionsPath i MSBuildExtensionsPath32.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files\MSBuild
MSBuildFileVersion Zarezerwowana 4-częściowa wersja zestawów MSBuild używanych do kompilowania projektu. 17.4.0.46505
MSBuildFrameworkToolsPath Dobrze znane Ścieżka do narzędzi programu .NET Framework, z których utworzono obecnie program MSBuild, z ukośnikiem końcowym. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Dobrze znane Ścieżka do 32-bitowej wersji narzędzi .NET Framework dla tej samej wersji platformy, z którą utworzono obecnie program MSBuild z ukośnikiem końcowym. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Dobrze znane Ścieżka do 64-bitowej wersji narzędzi .NET Framework dla tej samej wersji platformy, z którą jest obecnie wykonywany program MSBuild, z ukośnikiem końcowym. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Zarezerwowana true Jeśli program MSBuild działa interaktywnie, zezwalając na wprowadzanie danych przez użytkownika. To ustawienie jest kontrolowane przez -interactive opcję wiersza polecenia. false
MSBuildLastTaskResult Zarezerwowana true jeśli poprzednie zadanie zostało ukończone bez żadnych błędów (nawet jeśli wystąpiły ostrzeżenia) lub false jeśli poprzednie zadanie zawiera błędy. Zazwyczaj w przypadku wystąpienia błędu w zadaniu błąd jest ostatnią rzeczą, która występuje w tym projekcie. W związku z tym wartość tej właściwości nigdy nie falsejest wartością , z wyjątkiem następujących scenariuszy:

- Gdy ContinueOnError atrybut elementu task (MSBuild) jest ustawiony na WarnAndContinue (lub true) lub ErrorAndContinue.

— Gdy element Target OnError (MSBuild) jest elementem podrzędnym.
true
MSBuildNodeCount Zarezerwowana Maksymalna liczba współbieżnych procesów używanych podczas kompilowania. Jest to wartość określona dla parametru -maxcpucount w wierszu polecenia. Jeśli określono parametr -maxcpucount bez określania wartości, określa MSBuildNodeCount liczbę procesorów na komputerze. Aby uzyskać więcej informacji, zobacz Dokumentacja wiersza polecenia i Równoległe kompilowanie wielu projektów. 1
MSBuildOverrideTasksPath Dobrze znane Lokalizacja do wyszukiwania .overridetasks plików, które mogą służyć do udostępniania niestandardowych wersji standardowych zadań. Zobacz Zadania programu MSBuild.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.
MSBuildProgramFiles32 Zarezerwowana Lokalizacja folderu 32-bitowego programu; na przykład C:\Program Files (x86).

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Zarezerwowana Pełna lista obiektów docelowych określonych w atrybucie DefaultTargetsProject elementu. Na przykład następujący Project element będzie miał MSBuildDefaultTargets wartość A;B;Cwłaściwości :

<Project DefaultTargets="A;B;C" >
Build
MSBuildProjectDirectory Zarezerwowana Ścieżka bezwzględna katalogu, w którym znajduje się plik projektu, na przykład C:\MyCompany\MyProduct.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Zarezerwowana Wartość MSBuildProjectDirectory właściwości, z wyłączeniem dysku głównego.

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Zarezerwowana Rozszerzenie nazwy pliku projektu, w tym kropkę; na przykład .proj. .csproj
MSBuildProjectFile Zarezerwowana Pełna nazwa pliku projektu, w tym rozszerzenie nazwy pliku; na przykład MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Zarezerwowana Ścieżka bezwzględna i pełna nazwa pliku projektu, w tym rozszerzenie nazwy pliku; na przykład C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Zarezerwowana Nazwa pliku projektu bez rozszerzenia nazwy pliku; na przykład MyApp. ConsoleApp1
MSBuildRuntimeType Zarezerwowana Typ aktualnie wykonywanego środowiska uruchomieniowego. Wprowadzono w programie MSBuild 15. Wartość może być niezdefiniowana (wcześniej niż MSBuild 15), Full wskazująca, że program MSBuild jest uruchomiony na pulpicie programu .NET Framework, wskazując, że program MSBuild jest uruchomiony na platformie .NET Core (na przykład ), dotnet buildlub Mono wskazuje, Core że program MSBuild jest uruchomiony w środowisku Mono. Full
MSBuildStartupDirectory Zarezerwowana Ścieżka bezwzględna folderu, w którym jest wywoływana biblioteka MSBuild. Za pomocą tej właściwości można utworzyć wszystko poniżej określonego punktu w drzewie projektu bez tworzenia <plików dirs.proj> w każdym katalogu. Zamiast tego masz tylko jeden projekt — na przykład c:\traversal.proj, jak pokazano poniżej:

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

Aby skompilować w dowolnym momencie drzewa, wpisz:

msbuild c:\traversal.proj

Nie należy dołączać końcowego ukośnika odwrotnego do tej właściwości.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Zarezerwowana Część nazwy pliku i rozszerzenia pliku .MSBuildThisFileFullPath ConsoleApp1.csproj
MSBuildThisFileDirectory Zarezerwowana Część katalogu .MSBuildThisFileFullPath

Dołącz końcowy ukośnik odwrotny do ścieżki.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Zarezerwowana Część katalogu z MSBuildThisFileFullPathwyłączeniem dysku głównego.

Dołącz końcowy ukośnik odwrotny do ścieżki.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Zarezerwowana Część rozszerzenia nazwy pliku .MSBuildThisFileFullPath .csproj
MSBuildThisFileFullPath Zarezerwowana Ścieżka bezwzględna pliku projektu lub docelowego, który zawiera element docelowy, który jest uruchomiony.

Porada: możesz określić ścieżkę względną w pliku docelowym, który jest powiązany z plikiem docelowym, a nie względem oryginalnego pliku projektu.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Zarezerwowana Część nazwy pliku bez MSBuildThisFileFullPathrozszerzenia nazwy pliku. ConsoleApp1
MSBuildToolsPath Zarezerwowana Ścieżka instalacji wersji programu MSBuild, która jest skojarzona z wartością MSBuildToolsVersion.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.

Nie można zastąpić tej właściwości.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Dobrze znane Ścieżka instalacji 32-bitowej wersji programu MSBuild, która jest skojarzona z wartością MSBuildToolsVersion.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.

Nie można zastąpić tej właściwości.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Dobrze znane Ścieżka instalacji 64-bitowej wersji programu MSBuild, która jest skojarzona z wartością MSBuildToolsVersion.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.

Nie można zastąpić tej właściwości.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Zarezerwowana Wersja zestawu narzędzi MSBuild używana do kompilowania projektu.

Uwaga: Zestaw narzędzi MSBuild składa się z zadań, elementów docelowych i narzędzi używanych do tworzenia aplikacji. Narzędzia obejmują kompilatory, takie jak csc.exe i vbc.exe. Aby uzyskać więcej informacji, zobacz Zestaw narzędzi (ToolsVersion) oraz Konfiguracje zestawów narzędzi w warstwie Standardowa i niestandardowej.
Current
MSBuildSDKsPath Dobrze znane Ścieżka MSBuild używa do znajdowania zestawów SDK. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Zarezerwowana Pełna wersja semver 2.0 zestawów MSBuild używanych do kompilowania projektu. 17.4.0-preview-22465-05+6033e4c95
MSBuildUserExtensionsPath Dobrze znane Ta ścieżka zawiera lokalizację folderu instalacyjnego MSBuild. Można go zresetować w celu zapewnienia lokalnych dostosowań dla poszczególnych użytkowników. Zobacz Dostosowywanie kompilacji lokalnej.

Nie dołączaj końcowego ukośnika odwrotnego w ścieżce.
MSBuildVersion Zarezerwowana Wersja programu MSBuild używana do kompilowania projektu.

Nie można zastąpić tej właściwości. W przeciwnym razie zwracany jest komunikat MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. o błędzie.
17.4.0
MSBuildWarningsAsErrors Dobrze znane Lista kodów ostrzegawczych, które mają być traktowane jako błędy. MSB1234;MSB5678
MSBuildWarningsAsMessages Dobrze znane Lista kodów ostrzegawczych, które mają być traktowane jako komunikaty. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Dobrze znane Lista kodów ostrzegawczych, które nie powinny być promowane do błędów, nawet jeśli -warnAsError przełącznik jest ustawiony tak, aby podwyższyć poziom wszystkich innych ostrzeżeń do błędów. Należy pamiętać, że nie ma żadnego wpływu, jeśli tak nie jest. MSB1234;MSB5678
OS Dobrze znane W systemie Windows jest to dziedziczone z systemu operacyjnego hosta. Możliwe wartości obejmują "Windows_NT" i "Unix"; można ustawić na różne wartości w systemach operacyjnych innych niż Windows.
RoslynTargetsPath Dobrze znane Ścieżka do elementów docelowych dla kompilatorów Roslyn. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Dobrze znane Ścieżka do narzędzi .NET Framework 3.5.
SDK40ToolsPath Dobrze znane Ścieżka do narzędzi programu .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Dobrze znane Folder instalacyjny programu Visual Studio. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Dobrze znane Ścieżka do zestawu Windows 8 SDK.

Właściwości specyficzne dla projektów C++

Poniższe właściwości reprezentują ścieżkę do plików importu MSBuild języka C++, takich jak .props i .targets plików, dla różnych wersji zestawu narzędzi języka C++ i docelowych systemów operacyjnych. Pliki w tych folderach reprezentują infrastrukturę kompilacji języka C++ i są niezbędne do kompilowania dowolnego projektu C++ za pomocą programu MSBuild.

Właściwości Zarezerwowane lub dobrze znane opis Przykład
AndroidTargetsPath Dobrze znane Ścieżka do plików importu MSBuild języka C++ dla kompilacji systemu Android. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Dobrze znane Ścieżka do plików importu MSBuild języka C++ dla kompilacji systemu iOS. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Dobrze znane Ścieżka do plików MSBuild języka C++, które obsługują system kompilacji C++. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Dobrze znane Ścieżka do plików MSBuild języka C++, które obsługują zestaw narzędzi programu Visual Studio 2010. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Dobrze znane Ścieżka do plików importu MSBuild dla zestawu narzędzi programu Visual Studio 2012 (V110). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Dobrze znane Ścieżka do plików importu MSBuild dla zestawu narzędzi programu Visual Studio 2013 (V120). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Dobrze znane Ścieżka do plików importu MSBuild dla zestawu narzędzi programu Visual Studio 2015 (V140). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

Nazwy powodujące konflikt z elementami MSBuild

Oprócz powyższych nazw odpowiadających elementom języka MSBuild nie można używać dla właściwości, elementów lub metadanych elementu zdefiniowanych przez użytkownika:

  • VisualStudioProject
  • Obiekt docelowy
  • Propertygroup
  • Wyjście
  • Itemgroup
  • Usingtask
  • Rozszerzenia projektu
  • Onerror
  • ImportGroup
  • Wybierz
  • Kiedy
  • Inaczej

Zobacz też