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
。 允许的值: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 与Microsoft托管的代理配合使用,请选择 windows 最新 作为默认生成池。 请参阅 Microsoft托管代理。
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 与Microsoft托管的代理配合使用,请选择 windows 最新 作为默认生成池。 请参阅 Microsoft托管代理。
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
。
可选。 提供要运行的 MSBuild 的体系结构(x86
或 x64
)。
小提示
由于 Visual Studio 作为 32 位应用程序运行,因此当生成由运行 Team Foundation 生成服务的 64 位版本的生成代理处理时,可能会遇到问题。 通过选择 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 与Microsoft托管的代理配合使用,请选择 windows-2022
作为默认生成池。 有关详细信息,请参阅 Microsoft托管代理。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
没有。
注解
详细了解如何在 Azure 上安装Visual Studio 映像。
重要
此任务仅在运行 Windows 的代理上受支持。