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


Стандартные и настраиваемые конфигурации наборов инструментов

Набор инструментов MSBuild содержит задачи, целевые объекты и средства, которые можно использовать для построения проекта приложения.MSBuild включает стандартный набор инструментов, но можно также создать пользовательские наборы инструментов.Сведения о том, как определить набор инструментов, см. в разделе Набор инструментов MSBuild (ToolsVersion)

Стандартные конфигурации наборов инструментов

MSBuild 4.5 включает следующие стандартные наборы инструментов:

ToolsVersion

Путь набора инструментов (как указано в свойстве построением MSBuildToolsPath или MSBuildBinPath)

2.0

путь установки Windows\ Microsoft.Net \ Framework \ v2.0.50727 \ .NET

3.5

путь установки Windows\ Microsoft.NET \ Framework \ v3.5.20223 \ .NET

4.0

путь установки Windows\ Microsoft.NET \ Framework \ v4.0.30319 \ .NET

Значение ToolsVersion указывает, какой набор инструментов, который используется в проекте Visual Studio.Указать ToolsVersion как атрибут в элементе проект файла проекта, но можно переопределить этот атрибут с помощью переключателя /toolsversion в командной строке.Дополнительные сведения об этом атрибуте, этот переключатель и другие способы определения ToolsVersion см. в разделе Переопределение параметров ToolsVersion.

Если ToolsVersion не указан, возвращаются следующие ключи определяют ToolsVersion.

Узел реестра

Имя ключа

Значение строки раздела реестра

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\

DefaultToolsVersion

2.0

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0\

DefaultToolsVersion

2.0

Следующие разделы реестра, определяющие путь установки версий платформы .NET Framework, которые сопоставлены с каждым ToolsVersion.Путь установки также определяет расположение MSBuild.exe, который определяет сведения о наборе инструментов.

Узел реестра

Имя ключа

Значение строки раздела реестра

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\

MSBuildToolsPath

.NET Framework 2.0 установит путь

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\

MSBuildToolsPath

.NET Framework 3.5 установит путь

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\

MSBuildToolsPath

Платформа .NET Framework 4 установит путь

Bb397428.collapse_all(ru-ru,VS.110).gifSub- наборов инструментов

Если раздел реестра в предыдущей таблице есть подраздел, MSBuild используется для указания пути sub- набор инструментов, который содержит несколько средств.В следующем примере подраздела:

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0

Свойство построения VisualStudioVersion указывает, будет ли sub- набор инструментов активно.Например, значение VisualStudioVersion "11,0" указывает sub- набор инструментов платформы .NET Framework 4,5.Дополнительные сведения см. в разделе Sub- наборы инструментов Набор инструментов MSBuild (ToolsVersion).

ПримечаниеПримечание

Рекомендуется избегать изменять эти параметры.Однако можно добавить собственные параметры и указывать компьютер- широкие пользовательские определения для набора инструментов, как в следующем разделе описаны.

Пользовательские определения для набора инструментов

Если стандартный набор инструментов не удовлетворяет необходимым требованиям построения, можно создать пользовательский набор инструментов.Например, можно использовать скрипт лаборатории построения, в котором необходимо иметь отдельные систему для построения проектов Visual C++.С помощью пользовательского набора инструментов, можно присвоить пользовательские значения к атрибуту ToolsVersion при создании проектов или запуска MSBuild.exe. С помощью этого можно также использовать свойство $(MSBuildToolsPath) чтобы импортировать файлы .targets из этого каталога.

Определение пользовательского набора инструментов в файле конфигурации для MSBuild.exe (или для настраиваемого средства, размещение обработчик MSBuild то, что, если используется).Например, файл конфигурации для MSBuild.exe может включать следующее определение набора инструментов.

<msbuildToolsets default="3.0">
   <toolset toolsVersion="4.0">
      <property name="MSBuildToolsPath" 
        value="C:\Windows\Microsoft .NET\Framework\v3.0" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets> необходимо также задать в файле конфигурации следующим образом.

<configSections>
   <section name="msbuildToolsets"       
       Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, 
       Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, 
       PublicKeyToken=b03f5f7f11d50a3a"
   </section>
</configSections>
ПримечаниеПримечание

Чтение <configSections> быть правильно, должно быть первым подразделом в разделе <configuration>.

ToolsetConfigurationSection — это пользовательская часть конфигурации, которую может использовать любой сервер в качестве пользовательской конфигурации.Если используется пользовательский набор инструментов, то серверу ничего не нужно делать для инициализации ядра построения, кроме ввода файла конфигурации.Определив записи в реестре, можно задать действующий в пределах компьютера набор инструментов, применимый к MSBuild.exe, Visual Studio, и всем серверам MSBuild.

ПримечаниеПримечание

Если файл конфигурации задает настройки для ToolsVersion, который уже был определен в реестре 2 определения не объединитьы.Определение в файле конфигурации имеет более высокий приоритет и игнорируются параметры в реестре для ToolsVersion.

Следующие свойства, относящиеся к значению ToolsVersion, которое используется в проектах:

  • $ (MSBuildBinPath) установлено в значение ToolsPath, которое определяется либо в реестре, либо в файле конфигурации, в котором ToolsVersion указано.$(MSBuildToolsPath) параметра в реестре или в файле конфигурации указывает расположение набора инструментов.В файле проекта это соответствует свойству $(MSBuildBinPath), а также свойству $(MSBuildToolsPath).

  • $ (MSBuildToolsPath) зарезервированное свойство, предоставленном свойством MSBuildToolsPath, указанным в файле конфигурации.(Это свойство заменяет собой $(MSBuildBinPath).Однако для обеспечения совместимости используется $(MSBuildBinPath)).

Вы можете также добавить в файл конфигурации пользовательские и зависящие от ToolsVersion свойства, используя тот же самый синтаксис, который применяется для добавления свойств MSBuildToolsPath.Чтобы сделать доступными пользовательские свойства в файле проекта используйте одно и то же имя, что и имя значения, заданные в файле конфигурации.

См. также

Основные понятия

Набор инструментов MSBuild (ToolsVersion)