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


VSBuild@1 — задача сборки Visual Studio версии 1

Используйте эту задачу для сборки с помощью MSBuild и задания свойства версии Visual Studio. Дополнительные сведения об установке образов Visual Studio в Azure.

Синтаксис

# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #createLogFile: false # boolean. Create Log File. Default: false.
    #logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
    #enableDefaultLogger: true # boolean. Enable Default Logger. Default: true.
    #customVersion: # string. Custom Version.
# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #createLogFile: false # boolean. Create Log File. Default: false.
    #logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# Visual Studio Build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
  inputs:
    solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
    #vsVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
    #msbuildArgs: # string. MSBuild Arguments. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
    #logProjectEvents: true # boolean. Record Project Details. Default: true.
    #createLogFile: false # boolean. Create Log File. Default: false.

Входные данные

solution - Решение
string. Обязательный. Значение по умолчанию: **\*.sln.

Указывает решение для задачи, используемой в процессе сборки.

Если вы хотите создать одно решение, нажмите кнопку ... и укажите решение.

Если вы хотите создать несколько решений, укажите условия поиска. Можно использовать подстановочный знак с одной папкой (*) и рекурсивные подстановочные знаки (**). Например, **.sln выполняет поиск всех файлов .sln во всех подкаталогах.

Убедитесь, что указанные вами решения скачиваются этим конвейером сборки. На вкладке Репозиторий:

  • При использовании TFVC убедитесь, что решение является дочерним для одного из сопоставлений на вкладке Репозиторий.
  • Если вы используете Git, убедитесь, что проект или решение находится в репозитории Git и в ветви, которую вы создаете.

Совет

  • Вы также можете создать файлы проекта MSBuild (.*proj).
  • При создании настраиваемого файла проекта MSBuild рекомендуется использовать задачу MSBuild вместо задачи Сборка Visual Studio.

vsVersion - Версия Visual Studio
string. Допустимые значения: latest, 17.0 (Visual Studio 2022), 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), 12.0 (Visual Studio 2013), 11.0 (Visual Studio 2012). Значение по умолчанию: latest.

Значение этих входных данных должно соответствовать версии Visual Studio, используемой для создания решения.

Добавляет аргумент в /p:VisualStudioVersion={numeric_visual_studio_version} команду MSBuild, выполняемую сборкой. Например, если указать Visual Studio 2015, /p:VisualStudioVersion=14.0 добавляется в команду MSBuild.

Azure Pipelines. Если ваша команда хочет использовать Visual Studio с агентами, размещенными в Майкрософт, выберите windows-latest в качестве пула сборок по умолчанию. См. статью Агенты, размещенные в Майкрософт.


vsVersion - Версия Visual Studio
string. Допустимые значения: latest, 16.0 (Visual Studio 2019), 15.0 (Visual Studio 2017), 14.0 (Visual Studio 2015), 12.0 (Visual Studio 2013), 11.0 (Visual Studio 2012). Значение по умолчанию: latest.

Значение этих входных данных должно соответствовать версии Visual Studio, используемой для создания решения.

Добавляет аргумент в /p:VisualStudioVersion={numeric_visual_studio_version} команду MSBuild, выполняемую сборкой. Например, если указать Visual Studio 2015, /p:VisualStudioVersion=14.0 добавляется в команду MSBuild.

Azure Pipelines. Если ваша команда хочет использовать Visual Studio с агентами, размещенными в Майкрософт, выберите windows-latest в качестве пула сборок по умолчанию. См. статью Агенты, размещенные в Майкрософт.


msbuildArgs - Аргументы MSBuild
string.

Передает дополнительные аргументы в MSBuild. Сведения о синтаксисе см. в справочнике по Command-Line MSBuild.


platform - Платформы
string.

Указывает платформу для сборки, например Win32, x86, x64или any cpu.

Совет

  • Если вы используете файл проекта MSBuild (.*proj) вместо решения, укажите AnyCPU (без пробелов).
  • Объявите переменную сборки, BuildPlatform например , на вкладке Переменные (выбрав Разрешить во время очереди) и составьте ссылку на нее как $(BuildPlatform). Таким образом, вы можете изменить платформу при постановке сборки в очередь и включить сборку нескольких конфигураций.

configuration - Конфигурации
string.

Указывает конфигурацию, которую требуется выполнить сборку, например debug или release.

Совет

Объявите переменную сборки, BuildConfiguration например , на вкладке Переменные (выбрав Разрешить во время очереди) и составьте ссылку на нее как $(BuildConfiguration). Таким образом, вы можете изменить платформу при постановке сборки в очередь и включить сборку нескольких конфигураций.


clean - Чистый
boolean. Значение по умолчанию: false.

Если задано значение false, задача выполняет добавочную сборку. Этот параметр может сократить время сборки, особенно если база кода большая. Этот параметр не имеет практического эффекта, если для репозитория Clean не задано значение false.

Если задано значение true, задача перестраивает весь код в проектах кода. Это эквивалентно аргументу MSBuild /target:clean .


maximumCpuCount - Параллельная сборка
boolean. Значение по умолчанию: false.

Необязательный элемент. Если целевая конфигурация MSBuild совместима с параллельной сборкой, можно проверка эти входные данные для передачи коммутатора /m в MSBuild (только для Windows). Если целевая конфигурация несовместима с параллельной сборкой, проверка этого параметра может привести к ошибкам при использовании файла или периодическим или несогласованным сбоям сборки.


restoreNugetPackages - Восстановление пакетов NuGet
boolean. Значение по умолчанию: false.

Эти входные данные являются устаревшими. Чтобы восстановить пакеты NuGet, добавьте задачу установщика инструментов NuGet перед сборкой.


msbuildArchitecture - Архитектура MSBuild
string. Допустимые значения: x86 (MSBuild x86), x64 (MSBuild x64). Значение по умолчанию: x86.

Необязательный элемент. Предоставляет архитектуру (x86 или x64) MSBuild для запуска.

Совет

Так как Visual Studio выполняется как 32-разрядное приложение, при обработке сборки агентом сборки под управлением 64-разрядной версии Team Foundation Build Service могут возникнуть проблемы. Выбрав MSBuild x86, вы можете устранить эти проблемы.


logProjectEvents - Запись сведений о проекте
boolean. Значение по умолчанию: true.

Необязательный элемент. Записывает временная шкала сведения для каждого проекта.


createLogFile - Создание файла журнала
boolean. Значение по умолчанию: false.

Необязательный элемент. Создает файл журнала (только Для Windows).


logFileVerbosity - Детализация файла журнала
string. Необязательный элемент. Используйте при createLogFile = true. Допустимые значения: quiet, minimal, normal, detailed, diagnostic. Значение по умолчанию: normal.

Задает уровень детализации в файлах журнала.


enableDefaultLogger - Включение средства ведения журнала по умолчанию
boolean. Значение по умолчанию: true.

Если задано значение true, включает средство ведения журнала по умолчанию для MSBuild.


customVersion - Пользовательская версия
string.

Задает пользовательскую версию Visual Studio. Примеры: 15.0, 16.0, 17.0. В системе должна быть установлена требуемая версия Visual Studio.

Azure Pipelines. Если ваша команда хочет использовать Visual Studio 2022 с агентами, размещенными в Майкрософт, выберите windows-2022 пул сборки по умолчанию. Дополнительные сведения см. в разделе Агенты, размещенные в Майкрософт.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Дополнительные сведения об установке образов Visual Studio в Azure.

Важно!

Эта задача поддерживается только для агентов под управлением Windows.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка
Выполняется в Агент, DeploymentGroup
Требования Для выполнения заданий, использующих эту задачу, локальные агенты должны иметь возможности, соответствующие следующим требованиям: msbuild, visualstudio
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 1.95.0 или более поздней версии
Категория задач Сборка