VSBuild@1 - Visual Studio 組建 v1 工作

使用此工作來建置 MSBuild,並設定 Visual Studio 版本屬性。 深入瞭解如何在 Azure 上安裝 Visual Studio 映射

Syntax

# 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. 允許的值:latest17.0 (Visual Studio 2022) 、 16.0 (Visual Studio 2019) 、 (Visual Studio 2017) 、 15.014.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:如果您的小組想要搭配 Microsoft 裝載的代理程式使用 Visual Studio,請選取 [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:如果您的小組想要搭配 Microsoft 裝載的代理程式使用 Visual Studio,請選取 [windows-latest ] 作為預設建置集區。 請參閱 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 位應用程式的形式執行,所以當組建是由執行 64 位版本的 Team Foundation Build Service 的組建代理程式處理時,您可能會遇到問題。 藉由選取 MSBuild x86,您可以解決這些問題。


logProjectEvents - 記錄專案詳細數據
boolean. 預設值:true

選擇性。 記錄每個項目的時程表詳細數據。


createLogFile - 建立記錄檔
boolean. 預設值:false

選擇性。 (Windows) 建立記錄檔。


logFileVerbosity - 記錄檔詳細資訊
string. 選擇性。 使用 時 createLogFile = true。 允許的值:quiet、、、normalminimaldetailed、、 diagnostic。 預設值:normal

指定記錄檔中的詳細資訊層級。


enableDefaultLogger - 啟用預設記錄器
boolean. 預設值:true

如果設定為 true,則會啟用 MSBuild 的預設記錄器。


customVersion - 自訂版本
string.

設定 Visual Studio 的自定義版本。 範例:15.0、、17.016.0。 必須在系統中安裝必要的 Visual Studio 版本。

Azure Pipelines:如果您的小組想要搭配 Microsoft 裝載的代理程式使用 Visual Studio 2022,請選取 windows-2022 作為預設組建集區。 如需詳細資訊,請參閱 Microsoft 裝載的代理程式


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控件選項和一般工作屬性

輸出變數

無。

備註

深入瞭解如何在 Azure 上安裝 Visual Studio 映射

重要

只有執行 Windows 的代理程式才支援這項工作。

規格需求

需求 描述
管線類型 YAML,傳統組建
執行於 Agent、DeploymentGroup
要求 自我裝載代理程式必須具備符合下列需求的功能,才能執行使用此工作的作業:msbuild、visualstudio
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 1.95.0 或更新版本
工作類別 建置