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-latest] 作為您的預設組建集區。 請參閱 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-latest] 作為您的預設組建集區。 請參閱 Microsoft裝載的代理程式。
platform
-
平臺
string
。
指定要建置的平臺,例如 Win32
、x86
、x64
或 any cpu
。
小提示
- 如果您要以 MSBuild 專案 (.*proj) 檔案為目標,而不是解決方案,請指定
AnyCPU
(沒有空格符)。 - 在 [變數] 索引標籤上宣告
BuildPlatform
等組建變數(選取 [佇列時間允許],並將它參考為$(BuildPlatform)
。 如此一來,您就可以在將組建排入佇列並啟用建置多個組態時修改平臺。
configuration
-
組態
string
。
指定要建置的組態,例如 debug
或 release
。
小提示
在 [變數] 索引標籤上宣告 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 的架構(x86
或 x64
),以執行。
小提示
由於 Visual Studio 會以 32 位應用程式的形式執行,因此當組建是由執行 Team Foundation Build Service 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:如果您的小組想要搭配Microsoft裝載的代理程式使用 Visual Studio 2022,請選取 [windows-2022
] 作為預設的組建集區。 如需詳細資訊,請參閱 Microsoft 裝載的代理程式。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性。
輸出變數
沒有。
備註
深入瞭解如何在 Azure 上安裝Visual Studio 映射。
這很重要
只有在執行 Windows 的代理程式上才支援這項工作。