Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
MSBuild предоставляет набор предопределенных свойств, которые хранят сведения о файле проекта и двоичных файлах MSBuild. Эти свойства оцениваются таким же образом, как и другие свойства MSBuild. Например, чтобы использовать MSBuildProjectFile свойство, введите $(MSBuildProjectFile).
MSBuild использует значения в следующей таблице для предопределений зарезервированных и известных свойств. Зарезервированные свойства нельзя переопределить, и большинство известных свойств не следует переопределять, кроме расширенных сценариев.
Зарезервированные и известные свойства
В таблице в этом разделе показаны предопределенные свойства MSBuild. Пример столбца в таблице относится к следующему примеру файла проекта, который должен находиться C:\Source\Repos\ConsoleApp1\ConsoleApp1по адресу, и показывает пример значений, которые эти свойства имеют при доступе к файлу проекта, когда MSBuild вызывается без специальных параметров командной строки.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
| Недвижимость | Зарезервировано или хорошо известно | Description | Example |
|---|---|---|---|
FrameworkSDKRoot |
Известный | Путь к корневой папке для средств .NET Framework. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\ |
InnerBuildProperty |
Известный | Указывает имя свойства, определяющее измерение многонацелевой сборки (применимо только в том случае, если текущая сборка является сборкой графа). | TargetFramework |
InnerBuildPropertyValues |
Известный | Указывает имя свойства, которое содержит возможные значения для ( InnerBuildProperty применимо, только если текущая сборка является сборкой графа). |
TargetFrameworks |
IsGraphBuild |
Известный |
True Значение , если это сборка графа; т. е -graphBuild . параметр действует. Этот параметр означает, что MSBuild создает и создает граф проекта. Создание графа включает определение ссылок на проекты для зависимостей форм. Создание графа включает попытку создания ссылок на проекты до проектов, которые ссылались на них, отличаясь от традиционного планирования MSBuild. |
|
MSBuildAssemblyVersion |
Зарезервировано | Версия сборок MSBuild, используемая для сборки проекта. | 17.0 |
MSBuildBinPath |
Зарезервировано | Абсолютный путь к папке, в которой находятся двоичные файлы MSBuild, которые сейчас используются (например, C:\Windows\Microsoft.Net\Framework\<versionNumber>). Это свойство полезно, если необходимо ссылаться на файлы в каталоге MSBuild. Не включайте последнюю обратную косую черту этого свойства. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildDisableFeaturesFromVersion |
Зарезервировано | Используется пакетами SDK MSBuild и Майкрософт для управления волнами изменений. | |
MSBuildExtensionsPath |
Известный | Представлено в .NET Framework 4: нет разницы между значениями MSBuildExtensionsPath по умолчанию и MSBuildExtensionsPath32. Можно задать для переменной MSBUILDLEGACYEXTENSIONSPATH среды значение, отличное от NULL, чтобы включить поведение значения MSBuildExtensionsPath по умолчанию в более ранних версиях.В .NET Framework 3.5 и более ранних версиях MSBuildExtensionsPath значение по умолчанию указывает путь к подпапке MSBuild в папке \Program Files\ или \Program Files (x86) в зависимости от битности текущего процесса. Например, для 32-разрядного процесса на 64-разрядном компьютере это свойство указывает на папку \Program Files (x86). Для 64-разрядного процесса на 64-разрядном компьютере это свойство указывает на папку \Program Files .Не включайте последнюю обратную косую черту этого свойства. Это удобное место для размещения пользовательских целевых файлов. Например, целевые файлы можно установить в \Program Files\MSBuild\MyFiles\Northwind.targets , а затем импортировать в файлы проекта с помощью этого XML-кода: <Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/> |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath32 |
Известный | Путь к подпапке MSBuild в папке \Program Files или \Program Files (x86). Путь всегда указывает на 32-разрядную папку \Program Files (x86) на 32-разрядном компьютере и \Program Files на 64-разрядном компьютере. См. также MSBuildExtensionsPath и MSBuildExtensionsPath64.Не включайте последнюю обратную косую черту этого свойства. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath64 |
Известный | Путь вложенной папки MSBuild в папке \Program Files . Для 64-разрядного компьютера этот путь всегда указывает на папку \Program Files . Для 32-разрядного компьютера этот путь пуст. См. также MSBuildExtensionsPath и MSBuildExtensionsPath32.Не включайте последнюю обратную косую черту этого свойства. |
C:\Program Files\MSBuild |
MSBuildFileVersion |
Зарезервировано | 4-й версии сборок MSBuild, используемых для сборки проекта. | 17.4.0.46505 |
MSBuildFrameworkToolsPath |
Известный | Путь к средствам .NET Framework, созданным в настоящее время msBuild, с косой чертой. | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ |
MSBuildFrameworkToolsPath32 |
Известный | Путь к 32-разрядной версии средств .NET Framework для той же версии платформы, с помощью которая была создана в настоящее время с косой чертой. | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ |
MSBuildFrameworkToolsPath64 |
Известный | Путь к 64-разрядной версии средств .NET Framework для той же версии платформы, с помощью которая была создана в настоящее время с косой чертой. | C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ |
MSBuildInteractive |
Зарезервировано |
true Значение , если MSBuild работает в интерактивном режиме, разрешая входные данные пользователей. Этот параметр управляется параметром командной -interactive строки. |
false |
MSBuildLastTaskResult |
Зарезервировано |
true Значение , если предыдущая задача завершилась без ошибок (даже если были предупреждения), или false если предыдущая задача имела ошибки. Как правило, при возникновении ошибки в задаче это последнее, что происходит в этом проекте. Поэтому значение этого свойства никогда не falseвыполняется, за исключением следующих сценариев:— Если ContinueOnError атрибут элемента Task (MSBuild) имеет значение WarnAndContinue (или true) или ErrorAndContinue.— Если Target элемент OnError (MSBuild) имеется в качестве дочернего элемента. |
true |
MSBuildNodeCount |
Зарезервировано | Максимальное количество параллельных процессов, используемых при сборке. Это значение, указанное для -maxcpucount в командной строке. Если вы указали -maxcpucount без указания значения, то MSBuildNodeCount указывает количество процессоров на компьютере. Дополнительные сведения см. в справочнике по командной строке и параллельной сборке нескольких проектов. |
1 |
MSBuildOverrideTasksPath |
Известный | Расположение для поиска .overridetasks файлов, которое можно использовать для предоставления пользовательских версий стандартных задач. См. задачи MSBuild.Не включайте в путь последнюю обратную косую черту. |
|
MSBuildProgramFiles32 |
Зарезервировано | Расположение 32-разрядной папки программы; например , C:\Program Files (x86). Не включайте последнюю обратную косую черту этого свойства. |
C:\Program Files (x86) |
MSBuildProjectDefaultTargets |
Зарезервировано | Полный список целевых объектов, указанных в DefaultTargets атрибуте Project элемента. Например, следующий Project элемент имеет MSBuildDefaultTargets значение A;B;Cсвойства :<Project DefaultTargets="A;B;C" > |
Build |
MSBuildProjectDirectory |
Зарезервировано | Абсолютный путь к каталогу, где находится файл проекта, например C:\MyCompany\MyProduct. Не включайте последнюю обратную косую черту этого свойства. |
C:\Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectDirectoryNoRoot |
Зарезервировано | Значение свойства, за исключением корневого MSBuildProjectDirectory диска.Не включайте последнюю обратную косую черту этого свойства. |
Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectExtension |
Зарезервировано | Расширение имени файла проекта, включая период; например, .proj. | .csproj |
MSBuildProjectFile |
Зарезервировано | Полное имя файла проекта, включая расширение имени файла; Например, MyApp.proj. | ConsoleApp1.csproj |
MSBuildProjectFullPath |
Зарезервировано | Абсолютный путь и полное имя файла проекта, включая расширение имени файла; например , C:\MyCompany\MyProduct\MyApp.proj. | c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildProjectName |
Зарезервировано | Имя файла проекта без расширения имени файла; Например, MyApp. | ConsoleApp1 |
MSBuildRuntimeType |
Зарезервировано | Тип среды выполнения, выполняемой в настоящее время. Представлено в MSBuild 15. Значение может быть не определено (до MSBuild 15), Full указывающее, что MSBuild работает на классической платформе .NET Framework, указывая, что MSBuild работает в .NET Core (например, Core в dotnet build), или Mono указывает, что MSBuild работает в Mono. |
Full |
MSBuildStartupDirectory |
Зарезервировано | Абсолютный путь к папке, в которой вызывается MSBuild. Используя это свойство, вы можете создать все, что находится под определенной точкой в дереве проекта, не создавая <файлы dirs.proj> в каждом каталоге. Вместо этого у вас есть только один проект, например c:\traversal.proj, как показано ниже:<Project ...> <ItemGroup> <ProjectFiles Include="$ (MSBuildStartupDirectory) **\*.csproj"/> </ItemGroup> <Target Name="build"> <MSBuild Projects="@(ProjectFiles)"/> </Target> </Project>Чтобы создать в любом месте дерева, введите следующее: msbuild c:\traversal.projНе включайте последнюю обратную косую черту этого свойства. |
c:\Source\Repos\ConsoleApp1 |
MSBuildThisFile |
Зарезервировано | Имя файла и часть MSBuildThisFileFullPathрасширения файла. |
ConsoleApp1.csproj |
MSBuildThisFileDirectory |
Зарезервировано | Часть MSBuildThisFileFullPathкаталога .Включите последнюю обратную косую черту в путь. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileDirectoryNoRoot |
Зарезервировано | Часть каталога, за исключением корневого MSBuildThisFileFullPathдиска.Включите последнюю обратную косую черту в путь. |
Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileExtension |
Зарезервировано | Часть MSBuildThisFileFullPathрасширения имени файла. |
.csproj |
MSBuildThisFileFullPath |
Зарезервировано | Абсолютный путь к файлу проекта или целевого объекта, который содержит запущенный целевой объект. Совет. Можно указать относительный путь в целевом файле, который относится к целевому файлу, а не относительно исходного файла проекта. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildThisFileName |
Зарезервировано | Часть MSBuildThisFileFullPathимени файла без расширения имени файла. |
ConsoleApp1 |
MSBuildToolsPath |
Зарезервировано | Путь установки версии MSBuild, связанной со значением MSBuildToolsVersion.Не включайте в путь последнюю обратную косую черту. Это свойство нельзя переопределить. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsPath32 |
Известный | Путь установки 32-разрядной версии MSBuild, связанной со значением MSBuildToolsVersion.Не включайте в путь последнюю обратную косую черту. Это свойство нельзя переопределить. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin |
MSBuildToolsPath64 |
Известный | Путь установки 64-разрядной версии MSBuild, связанной со значением MSBuildToolsVersion.Не включайте в путь последнюю обратную косую черту. Это свойство нельзя переопределить. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsVersion |
Зарезервировано | Версия набора инструментов MSBuild, используемого для сборки проекта. Примечание. Набор инструментов MSBuild состоит из задач, целевых объектов и средств, используемых для создания приложения. Эти средства включают компиляторы, такие как csc.exe и vbc.exe. Дополнительные сведения см. в статьях Toolset (ToolsVersion) и Стандартные и настраиваемые конфигурации набора инструментов. |
Current |
MSBuildSDKsPath |
Известный | Путь MSBuild используется для поиска пакетов SDK. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks |
MSBuildSemanticVersion |
Зарезервировано | Полная версия сборок MSBuild версии 2.0, используемая для сборки проекта. | 17.4.0-preview-22465-05+6033e4c95 |
MSBuildUserExtensionsPath |
Известный | Этот путь предоставляет расположение папки установки MSBuild. Его можно сбросить, чтобы предоставить локальные настройки для каждого пользователя. См. статью "Настройка локальной сборки". Не включайте в путь последнюю обратную косую черту. |
|
MSBuildVersion |
Зарезервировано | Версия MSBuild, используемая для сборки проекта. Это свойство нельзя переопределить, в противном случае возвращается сообщение MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. об ошибке. |
17.4.0 |
MSBuildWarningsAsErrors |
Известный | Список кодов предупреждений для обработки как ошибок. | MSB1234;MSB5678 |
MSBuildWarningsAsMessages |
Известный | Список кодов предупреждений, которые следует рассматривать как сообщения. | MSB1234;MSB5678 |
MSBuildWarningsNotAsErrors |
Известный | Список кодов предупреждений, которые не должны быть повышены до ошибок, даже если -warnAsError параметр настроен для повышения всех других предупреждений до ошибок. Обратите внимание, что это не действует, если это не верно. |
MSB1234;MSB5678 |
OS |
Известный | В Windows это наследуется от операционной системы узла. Возможные значения включают "Windows_NT" и "Unix"; можно задать для различных значений операционных систем, отличных от Windows. | |
RoslynTargetsPath |
Известный | Путь к целевым объектам для компиляторов Roslyn. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn |
SDK35ToolsPath |
Известный | Путь к средствам .NET Framework 3.5. | |
SDK40ToolsPath |
Известный | Путь к средствам .NET Framework 4.0. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ |
VsInstallRoot |
Известный | Папка установки Visual Studio. | C:\Program Files\Microsoft Visual Studio\2022 |
WindowsSDK80Path |
Известный | Путь к пакету SDK для Windows 8. |
Свойства, относящиеся к проектам C++
Следующие свойства представляют путь к файлам импорта MSBuild C++ ( например .props , файлам и .targets файлам) для различных версий средств сборки MSVC (toolset) и целевых операционных систем. Файлы в этих папках представляют инфраструктуру сборки C++ и необходимы для создания любого проекта C++ с помощью MSBuild.
| Недвижимость | Зарезервировано или хорошо известно | Description | Example |
|---|---|---|---|
AndroidTargetsPath |
Известный | Путь к файлам импорта MSBuild C++ для сборок Android. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\ |
iOSTargetsPath |
Известный | Путь к файлам импорта MSBuild C++ для сборок iOS. | C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\ |
VCTargetsPath |
Известный | Путь к файлам MSBuild C++, поддерживающим систему сборки C++. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\ |
VCTargetsPath10 |
Известный | Путь к файлам MSBuild C++ с поддержкой набора инструментов Visual Studio 2010. | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\ |
VCTargetsPath11 |
Известный | Путь к файлам импорта MSBuild для набора инструментов Visual Studio 2012 (V110). | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\ |
VCTargetsPath12 |
Известный | Путь к файлам импорта MSBuild для набора инструментов Visual Studio 2013 (V120). | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\ |
VCTargetsPath14 |
Известный | Путь к файлам импорта MSBuild для набора инструментов Visual Studio 2015 (V140). | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\ |
Имена, конфликтующие с элементами MSBuild
Помимо приведенных выше имен, соответствующих элементам языка MSBuild, нельзя использовать для определяемых пользователем свойств, элементов или метаданных элементов:
- VisualStudioProject
- Цель
- PropertyGroup
- Выходные данные
- ItemGroup
- UsingTask
- ProjectExtensions
- OnError
- ImportGroup
- ВЫБОР
- Когда
- Иначе