VSBuild@1 - Visual Studio 生成 v1 任务

使用此任务通过 MSBuild 生成并设置 Visual Studio 版本属性。 详细了解如何在 Azure 上安装 Visual Studio 映像

语法

# 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 Build 任务。

vsVersion - Visual Studio 版本
string. 允许的值:latest17.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 与 Microsoft 托管的代理配合使用,请选择 windows-latest 作为默认生成池。 请参阅 Microsoft 托管代理


vsVersion - Visual Studio 版本
string. 允许的值:latest16.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 与 Microsoft 托管的代理配合使用,请选择 windows-latest 作为默认生成池。 请参阅 Microsoft 托管代理


msbuildArgs - MSBuild 参数
string.

将其他参数传递给 MSBuild。 有关语法的信息,请参阅 MSBuild 命令行参考


platform - 平台
string.

指定要生成的平台,例如 Win32x86x64any cpu

提示

  • 如果目标是 MSBuild 项目 (.*proj) 文件而不是解决方案,请指定 AnyCPU(不带空格)。
  • 在“变量”选项卡上声明一个生成变量,例如 BuildPlatform(选择“排队时允许”),并在此处将其引用为 $(BuildPlatform)。 这样,就可以在将生成排队和启用多个配置的生成时修改平台。

configuration - 配置
string.

指定要生成的配置,例如 debugrelease

提示

在“变量”选项卡上声明一个生成变量,例如 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

可选。 提供要运行的 MSBuild 的体系结构 x86 (或 x64) 。

提示

由于 Visual Studio 作为 32 位应用程序运行,因此当生成由运行 64 位版本的 Team Foundation 生成服务的生成代理处理时,可能会遇到问题。 通过选择 MSBuild x86,可以解决这些问题。


logProjectEvents - 记录项目详细信息
boolean. 默认值:true

可选。 记录每个项目时间线详细信息。


createLogFile - 创建日志文件
boolean. 默认值:false

可选。 仅) (Windows 创建日志文件。


logFileVerbosity - 日志文件详细程度
string. 可选。 在 时 createLogFile = true使用 。 允许的值:quietminimalnormaldetaileddiagnostic。 默认值:normal

指定日志文件中的详细级别。


enableDefaultLogger - 启用默认记录器
boolean. 默认值:true

如果设置为 true,则启用 MSBuild 的默认记录器。


customVersion - 自定义版本
string.

设置 Visual Studio 的自定义版本。 示例:15.016.017.0。 必须在系统中安装所需的 Visual Studio 版本。

Azure Pipelines:如果你的团队想要将 Visual Studio 2022 与 Microsoft 托管的代理配合使用,请选择 windows-2022 作为默认生成池。 有关详细信息,请参阅 Microsoft 托管代理


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

详细了解如何在 Azure 上安装 Visual Studio 映像

重要

此任务仅在运行 Windows 的代理上受支持。

要求

要求 说明
管道类型 YAML,经典内部版本
运行平台 Agent、DeploymentGroup
需求 自承载代理必须具有满足以下要求的功能才能运行使用此任务的作业:msbuild、visualstudio
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 1.95.0 或更高版本
任务类别 构建