共用方式為


VSBuild@1 - Visual Studio 組建 v1 工作

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

小提示

在此任務之前,請在管道中使用 NuGetAuthenticate@1 。 有關更多資訊,請參閱 為什麼我的構建管道失敗並提示進行單 Sign-On (SSO) 身份驗證?

語法

# 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 建置工作。

有關 MSBuild 和 Visual Studio 版本之間差異的資訊,請參閱 Visual Studio 版本與 MSBuild.exe 版本


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 - 乾淨
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 裝載的代理程式。


工作控制選項

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

輸出變數

沒有。

備註

為什麼我的構建管道失敗並提示進行單 Sign-On (SSO) 身份驗證?

如果憑證過期,構建可能會失敗。 為避免這些失敗,我們建議使用 NuGet Authenticate 任務重新安裝憑據提供程式並自動刷新憑據。 這可確保在管道執行期間不間斷地訪問。

steps:
# Authenticate with NuGet to ensure credentials are refreshed
- task: NuGetAuthenticate@1 
# Build the solution using VSBuild
- task: VSBuild@1
  inputs:
    solution: '**/*.sln' 

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

這很重要

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

需求

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