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.

输入

solution - 解决方案
string。 必填。 默认值:**\*.sln

指定要在生成过程中使用的任务的解决方案。

如果要生成单个解决方案,请单击 ... 按钮并指定解决方案。

如果要生成多个解决方案,请指定搜索条件。 可以使用单文件夹通配符(*)和递归通配符(**)。 例如,**.sln 搜索所有子目录中的所有.sln文件。

请确保此生成管道下载指定的解决方案。 在“存储库”选项卡上:

  • 如果使用 TFVC,请确保解决方案是存储库选项卡上其中一个映射的子级。
  • 如果使用 Git,请确保项目或解决方案位于 Git 存储库中,以及要生成的分支中。

小提示

  • 还可以生成 MSBuild 项目 (.*proj) 文件。
  • 如果要生成自定义的 MSBuild 项目文件,建议使用 MSBuild 任务而不是 Visual Studio 生成任务。

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 最新 作为默认生成池。 请参阅 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 最新 作为默认生成池。 请参阅 Microsoft托管代理


msbuildArgs - MSBuild 参数
string

将其他参数传递给 MSBuild。 有关语法,请参阅 MSBuild Command-Line 参考


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 的体系结构(x86x64)。

小提示

由于 Visual Studio 作为 32 位应用程序运行,因此当生成由运行 Team Foundation 生成服务的 64 位版本的生成代理处理时,可能会遇到问题。 通过选择 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,经典生成
运行时间 代理,DeploymentGroup
需求 自承载代理必须具有与以下 要求 运行使用此任务的作业 功能:msbuild、visualstudio
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 1.95.0 或更高版本
任务类别 建造