Поделиться через


Зарезервированные и стандартные свойства MSBuild

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 Пример
FrameworkSDKRoot Стандартное Путь к корневой папке для средств платформа .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Стандартное Указывает имя свойства, определяющее измерение многонацелевой сборки (применимо только в том случае, если текущая сборка является сборкой графа). TargetFramework
InnerBuildPropertyValues Стандартное Указывает имя свойства, которое содержит возможные значения для (InnerBuildPropertyприменимо, только если текущая сборка является сборкой графа). TargetFrameworks
IsGraphBuild Стандартное TrueЗначение , если это сборка графа; -graphBuild то есть параметр действует. Этот параметр означает, что MSBuild создает и создает граф проекта. Построение графа включает определение ссылок проекта для образования зависимостей. Построение этого графа включает попытку сборки ссылок проекта до проектов, ссылающихся на них, в отличие от традиционного графика MSBuild.
MSBuildAssemblyVersion Зарезервировано Версия сборок MSBuild, используемая для сборки проекта. 16,0
MSBuildBinPath Зарезервировано Абсолютный путь к папке, где находятся используемые в данный момент двоичные файлы MSBuild (например, C:\Windows\Microsoft.Net\Framework\<версия>). Это свойство удобно, если вам нужно ссылаться на файлы в каталоге MSBuild.

Не включайте в это свойство завершающую обратную косую черту.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
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 (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Стандартное Путь к вложенной папке MSBuild в папке \Program Files или \Program Files (x86). Путь всегда указывает на папку \Program Files (x86) на 32-разрядном компьютере и на папку \Program Files на 64-разрядном компьютере. См. также MSBuildExtensionsPath и MSBuildExtensionsPath64.

Не включайте в это свойство завершающую обратную косую черту.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Стандартное Путь к вложенной папке MSBuild в папке \Program Files. На 64-разрядном компьютере этот путь всегда указывает на папку \Program Files. На 32-разрядном компьютере этот путь будет пустым. См. также MSBuildExtensionsPath и MSBuildExtensionsPath32.

Не включайте в это свойство завершающую обратную косую черту.
C:\Program Files\MSBuild
MSBuildFileVersion Зарезервировано Версия сборок MSBuild из 4 частей, используемая для сборки проекта. 16.11.0.30701
MSBuildFrameworkToolsPath Стандартное Путь к средствам платформа .NET Framework, созданным в настоящее время MSBuild, с косой чертой. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Стандартное Путь к 32-разрядной версии средств платформа .NET Framework для той же версии платформы, с которым была создана текущая версия MSBuild, с косой чертой. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Стандартное Путь к 64-разрядной версии средств платформа .NET Framework для той же версии платформы, с помощью косой черты, выполняемой в данный момент MSBuild. 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 для ПК), Core (указывает на то, что MSBuild выполняется на платформе .NET Core, например в dotnet build) или Mono (указывает на то, что MSBuild выполняется на платформе на Mono). Full
MSBuildSDKsPath Стандартное Путь MSBuild используется для поиска пакетов SDK. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Зарезервировано Полная версия semver 2.0 сборок MSBuild, используемая для сборки проекта. 16.11.0-preview-21302-05+5e37cc992
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 (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Стандартное Путь установки 32-разрядной версии MSBuild, связанной со значением MSBuildToolsVersion.

Не включайте в путь завершающую обратную косую черту.

Это свойство нельзя переопределить.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Стандартное Путь установки 64-разрядной версии MSBuild, связанной со значением MSBuildToolsVersion.

Не включайте в путь завершающую обратную косую черту.

Это свойство нельзя переопределить.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Зарезервировано Версия набора инструментов MSBuild, используемая для сборки проекта.

Примечание. Набор инструментов MSBuild состоит из задач, целевых объектов и средств, используемых для создания приложения. Средства включают компиляторы csc.exe и vbc.exe. Дополнительные сведения см. в статьях Набор инструментов MSBuild (ToolsVersion) и Стандартные и настраиваемые конфигурации наборов инструментов.
Current
MSBuildUserExtensionsPath Стандартное Этот путь предоставляет расположение папки установки MSBuild. Его можно сбросить, чтобы предоставить локальные настройки для каждого пользователя. См. статью "Настройка локальной сборки".

Не включайте в путь завершающую обратную косую черту.
MSBuildVersion Зарезервировано Версия MSBuild, используемая для сборки проекта.

Это свойство нельзя переопределить. При попытке сделать это будет возвращено сообщение об ошибке MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified..
16.11.0
MSBuildWarningsAsErrors Стандартное Список кодов предупреждений, которые обрабатываются как ошибки. MSB1234;MSB5678
MSBuildWarningsAsMessages Стандартное Список кодов предупреждений, которые обрабатываются как сообщения. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Стандартное Список кодов предупреждений, которые не должны быть повышены до уровня ошибок, даже если для параметра -warnAsError задано повышение всех остальных предупреждений до уровня ошибок. Обратите внимание, что если это значение не равно true, этот параметр не действует. MSB1234;MSB5678
OS Стандартное В Windows это наследуется от операционной системы узла. Возможные значения включают "Windows_NT" и "Unix"; можно задать для различных значений операционных систем, отличных от Windows.
RoslynTargetsPath Стандартное Путь к компиляторам Roslyn. C:\Program Files\Microsoft Visual Studio\2019\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 (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Стандартное
Свойство Зарезервированное или стандартное Description Пример
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\<версия>). Это свойство удобно, если вам нужно ссылаться на файлы в каталоге 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). Путь всегда указывает на папку \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 Зарезервировано Версия сборок MSBuild из 4 частей, используемая для сборки проекта. 17.4.0.46505
MSBuildFrameworkToolsPath Стандартное Путь к средствам платформа .NET Framework, созданным в настоящее время MSBuild, с косой чертой. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Стандартное Путь к 32-разрядной версии средств платформа .NET Framework для той же версии платформы, с которым была создана текущая версия MSBuild, с косой чертой. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Стандартное Путь к 64-разрядной версии средств платформа .NET Framework для той же версии платформы, с помощью косой черты, выполняемой в данный момент MSBuild. 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 для ПК), Core (указывает на то, что MSBuild выполняется на платформе .NET 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. Дополнительные сведения см. в статьях Набор инструментов MSBuild (ToolsVersion) и Стандартные и настраиваемые конфигурации наборов инструментов.
Current
MSBuildSDKsPath Стандартное Путь MSBuild используется для поиска пакетов SDK. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Зарезервировано Полная версия semver 2.0 сборок MSBuild, используемая для сборки проекта. 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 задано повышение всех остальных предупреждений до уровня ошибок. Обратите внимание, что если это значение не равно true, этот параметр не действует. 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 файлам для различных версий набора инструментов C++ и целевых операционных систем. Файлы в этих папках представляют инфраструктуру сборки C++ и необходимы для создания любого проекта C++ с помощью MSBuild.

Свойство Зарезервированное или стандартное Description Пример
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
  • Выберите
  • When
  • Otherwise

См. также