このタスクを使用して、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.
ビルド プロセスで使用するタスクのソリューションを指定します。
1 つのソリューションをビルドする場合は、... ボタンをクリックし、ソリューションを指定します。
複数のソリューションを作成する場合は、検索条件を指定します。 単一フォルダーのワイルドカード (*) と再帰ワイルドカード (**) を使用できます。 たとえば、**.sln は、すべてのサブディレクトリ内のすべての.sln ファイルを検索します。
指定したソリューションがこのビルド パイプラインによってダウンロードされていることを確認します。 [リポジトリ] タブで、次の手順を実行します。
- TFVC を使用する場合は、ソリューションが [リポジトリ] タブのいずれかのマッピングの子であることを確認します。
- Git を使用する場合は、プロジェクトまたはソリューションが Git リポジトリとビルド中のブランチにあることを確認します。
ヒント
- MSBuild プロジェクト (.*proj) ファイルをビルドすることもできます。
- カスタマイズした MSBuild プロジェクト ファイルをビルドする場合は、Visual Studio ビルド タスクの代わりに MSBuild タスクを使用することをお勧めします。
MSBuild と Visual Studio ビルドの違いについては、「 Visual Studio ビルドと MSBuild.exe ビルド」を参照してください。
Visual Studio バージョンの vsVersion -
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: チームが Microsoft がホストするエージェントで Visual Studio を使用する場合は、既定のビルド プールとして windows 最新 選択します。 Microsoft でホスト エージェントのを参照してください。
Visual Studio バージョンの vsVersion -
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: チームが Microsoft がホストするエージェントで Visual Studio を使用する場合は、既定のビルド プールとして windows 最新 選択します。 Microsoft でホスト エージェントのを参照してください。
MSBuild 引数を msbuildArgs - する
string。
MSBuild に追加の引数を渡します。 構文については、「MSBuild Command-Line リファレンス を参照してください。
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 のみ)。 ターゲット構成が並列ビルドと互換性がない場合、このオプションをオンにすると、ビルドでファイルインユース エラーが発生したり、断続的または一貫性のないビルド エラーが発生したりする可能性があります。
NuGet パッケージを復元する restoreNugetPackages -
boolean。 既定値: false.
この入力は非推奨です。 NuGet パッケージを復元するには、ビルドの前に NuGet ツール インストーラー タスクを追加します。
MSBuild アーキテクチャの msbuildArchitecture -
string。 使用できる値: x86 (MSBuild x86)、x64 (MSBuild x64)。 既定値: x86.
任意 実行する MSBuild のアーキテクチャ (x86 または x64) を提供します。
ヒント
Visual Studio は 32 ビット アプリケーションとして実行されるため、64 ビット バージョンの Team Foundation Build Service を実行しているビルド エージェントによってビルドが処理されると、問題が発生する可能性があります。 MSBuild x86を選択すると、これらの問題を解決できます。
プロジェクトの詳細を記録する logProjectEvents -
boolean。 既定値: true.
任意 各プロジェクトのタイムラインの詳細を記録します。
ログ ファイルの作成 createLogFile -
boolean。 既定値: false.
任意 ログ ファイルを作成します (Windows のみ)。
ログ ファイルの詳細なを logFileVerbosity - する
string。 任意
createLogFile = trueするときに使用します。 使用できる値: quiet、minimal、normal、detailed、diagnostic。 既定値: normal.
ログ ファイルの詳細レベルを指定します。
既定のロガーを有効にする enableDefaultLogger -
boolean。 既定値: true.
trueに設定すると、MSBuild の既定のロガーが有効になります。
カスタム バージョン の
string。
Visual Studio のカスタム バージョンを設定します。 例: 15.0、16.0、17.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 を実行しているエージェントでのみサポートされます。