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\ConsoleApp1
lokalizacji , 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 | True jeś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 MSBuildExtensionsPath MSBuildExtensionsPath32 . 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 false jest 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 DefaultTargets Project elementu. Na przykład następujący Project element będzie miał MSBuildDefaultTargets wartość A;B;C wł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 build lub 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 MSBuildThisFileFullPath wyłą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 MSBuildThisFileFullPath rozszerzenia 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 | True jeś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 MSBuildExtensionsPath MSBuildExtensionsPath32 . 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 false jest 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 DefaultTargets Project elementu. Na przykład następujący Project element będzie miał MSBuildDefaultTargets wartość A;B;C wł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 build lub 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 MSBuildThisFileFullPath wyłą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 MSBuildThisFileFullPath rozszerzenia 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