共用方式為


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-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 Command-Line 參考


platform - 平臺
string

指定要建置的平臺,例如 Win32x86x64any cpu

小提示

  • 如果您要以 MSBuild 專案 (.*proj) 檔案為目標,而不是解決方案,請指定 AnyCPU (沒有空格符)。
  • 在 [變數] 索引標籤上宣告 BuildPlatform 等組建變數(選取 [佇列時間允許],並將它參考為 $(BuildPlatform)。 如此一來,您就可以在將組建排入佇列並啟用建置多個組態時修改平臺。

configuration - 組態
string

指定要建置的組態,例如 debugrelease

小提示

在 [變數] 索引標籤上宣告 BuildConfiguration 等組建變數(選取 [佇列時間允許],並將它參考為 $(BuildConfiguration)。 如此一來,您就可以在將組建排入佇列並啟用建置多個組態時修改平臺。


clean - 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 Build Service 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:如果您的小組想要搭配Microsoft裝載的代理程式使用 Visual Studio 2022,請選取 [windows-2022] 作為預設的組建集區。 如需詳細資訊,請參閱 Microsoft 裝載的代理程式。


工作控制選項

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

輸出變數

沒有。

備註

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

這很重要

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

需求

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