MSBuild@1 - MSBuild v1 タスク
このタスクを使用して、MSBuild を使用してビルドします。
構文
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#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.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
inputs:
solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
#msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
#msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
#msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild.
#platform: # string. Platform.
#configuration: # string. Configuration.
#msbuildArguments: # string. MSBuild Arguments.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#logProjectEvents: false # boolean. Record Project Details. Default: false.
#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
-
Project
string
. 必須。 既定値: **/*.sln
.
複数のプロジェクトをビルドする場合は、検索条件を指定します。 単一フォルダーのワイルドカード (*) と再帰ワイルドカード (**) を使用できます。 たとえば、**.*proj
は、すべてのサブディレクトリ内のすべての MSBuild プロジェクト (.*proj
) ファイルを検索します。
指定したプロジェクトがこのビルド パイプラインによってダウンロードされていることを確認します。 [リポジトリ] タブで、次の手順を実行します。
- TFVC を使用する場合は、プロジェクトが [リポジトリ] タブのいずれかのマッピングの子であることを確認します。
- Git を使用する場合は、プロジェクトまたはプロジェクトがビルドしているブランチの Git リポジトリにあることを確認します。
ヒント
ソリューションをビルドする場合は、MSBuild タスクの代わりに Visual Studio ビルド タスク を使用することをお勧めします。
MSBuildの msbuildLocationMethod
-
string
. 使用できる値: version
、location
(場所の指定)。 既定値: version
.
MSBuild バージョンの msbuildVersion
-
string
. 任意
msbuildLocationMethod = version
するときに使用します。 使用できる値: latest
、17.0
(MSBuild 17.0)、16.0
(MSBuild 16.0)、15.0
(MSBuild 15.0)、14.0
(MSBuild 14.0)、12.0
(MSBuild 12.0)、4.0
(MSBuild 4.0)。 既定値: latest
.
優先バージョンが見つからない場合は、見つかった最新バージョンが代わりに使用されます。 macOS エージェントでは、バージョンが 15.0
より低い場合は、xbuild
(Mono) が使用されます。
MSBuild バージョンの msbuildVersion
-
string
. 任意
msbuildLocationMethod = version
するときに使用します。 使用できる値: latest
、16.0
(MSBuild 16.0)、15.0
(MSBuild 15.0)、14.0
(MSBuild 14.0)、12.0
(MSBuild 12.0)、4.0
(MSBuild 4.0)。 既定値: latest
.
優先バージョンが見つからない場合は、見つかった最新バージョンが代わりに使用されます。 macOS エージェントでは、バージョンが 15.0
より低い場合は、xbuild
(Mono) が使用されます。
MSBuild アーキテクチャの msbuildArchitecture
-
string
. 任意
msbuildLocationMethod = version
するときに使用します。 使用できる値: x86
(MSBuild x86)、x64
(MSBuild x64)。 既定値: x86
.
実行する MSBuild アーキテクチャ (x86、x64) を提供します。
msbuildLocation
-
MSBuild へのパス
string
. 任意
msbuildLocationMethod = location
するときに使用します。
MSBuild へのパスを指定します。
platform
-
プラットフォーム
string
.
ヒント
- ソリューションではなく MSBuild プロジェクト (.*proj) ファイルを対象とする場合は、
AnyCPU
を指定します (空白は指定しません)。 - [変数] タブで
BuildPlatform
などのビルド変数を宣言し (キュー時にAllow
を選択)、ここで$(BuildPlatform)
として参照します。 これにより、ビルドをキューに入れ、複数の構成のビルドを有効にするときにプラットフォームを変更できます。
configuration
-
構成
string
.
ヒント
[変数] タブで BuildConfiguration
などのビルド変数を宣言し (キュー時に Allow
を選択)、ここで $(BuildConfiguration)
として参照します。 これにより、ビルドをキューに入れ、複数の構成のビルドを有効にするときにプラットフォームを変更できます。
MSBuild 引数を msbuildArguments
- する
string
.
MSBuild (Windows の場合) と xbuild (macOS の場合) に渡される追加の引数を指定します。
clean
-
クリーン
boolean
. 既定値: false
.
これを増分ビルドにする場合は、False
に設定します。 この設定により、特にコードベースが大きい場合に、ビルド時間が短縮される可能性があります。
Clean
リポジトリを False
に設定しない限り、このオプションは実用的な効果はありません。
コード プロジェクト内のすべてのコードを再構築する場合は、True
に設定します。 これは、MSBuild /target:clean
引数と同じです。
詳細については、「リポジトリ オプション を参照してください。
並列でのビルドの maximumCpuCount
-
boolean
. 既定値: false
.
MSBuild ターゲット構成が並列ビルドと互換性がある場合は、この入力を確認して、/m
スイッチを MSBuild に渡すことができます (Windows のみ)。 ターゲット構成が並列ビルドと互換性がない場合は、このオプションをオンにすると、ビルドで file-in-use
エラーが発生したり、断続的または一貫性のないビルド エラーが発生したりする可能性があります。
NuGet パッケージを復元する restoreNugetPackages
-
boolean
. 既定値: false
.
このオプションは非推奨です。 NuGet パッケージを復元するには、ビルドの前に NuGet タスクを追加します。
プロジェクトの詳細を記録する logProjectEvents
-
boolean
. 既定値: false
.
必要に応じて、各プロジェクトのタイムラインの詳細を記録します (Windows のみ)。
ログ ファイルの作成 createLogFile
-
boolean
. 既定値: false
.
必要に応じて、ログ ファイルを作成します (Windows のみ)。
ログ ファイルの詳細なを logFileVerbosity
- する
string
. 任意
createLogFile = true
するときに使用します。 使用できる値: quiet
、minimal
、normal
、detailed
、diagnostic
。 既定値: normal
.
ログ ファイルの詳細度を指定します。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
Visual Studio ビルド タスクまたは MSBuild タスクを使用する必要がありますか?
ソリューションをビルドする場合は、ほとんどの場合、Visual Studio ビルド タスクを使用する必要があります。 このタスクは自動的に次の操作を行います。
-
/p:VisualStudioVersion
プロパティを設定します。 これにより、ビルドが成功する可能性が高まる特定のターゲット セットが MSBuild によって強制的に使用されます。 - MSBuild バージョン引数を指定します。
場合によっては、MSBuild
タスクを使用する必要があります。 たとえば、ソリューションとは別にコード プロジェクトをビルドする場合に使用する必要があります。
MSBuild の詳細はどこで確認できますか?
MSBuild コマンド ライン リファレンス の
複数のプラットフォームに対して複数の構成を構築するにはどうすればよいですか?
[変数] タブで、構成とプラットフォームに対して変数が定義されていることを確認します。 複数の値を指定するには、コンマで区切ります。 次に例を示します。
- .NET アプリの場合は、デバッグとリリースの値で
BuildConfiguration
を指定し、任意の CPU 値でBuildPlatform
を指定できます。 - C++ アプリの場合は、デバッグとリリースの値で
BuildConfiguration
を指定し、任意の x86 と x64 の値でBuildPlatform
を指定できます。
- .NET アプリの場合は、デバッグとリリースの値で
[オプション] タブで
MultiConfiguration
を選択し、Multipliers
をコンマで区切って指定します。 例:BuildConfiguration, BuildPlatform
ジョブ (値の組み合わせごとに 1 つ) を複数のエージェントに並列で配布する場合は、Parallel
を選択します。[ビルド] タブで、この手順を選択し、
Platform
引数とConfiguration
引数を指定します。 次に例を示します。- プラットホーム:
$(BuildPlatform)
- 構成:
$(BuildConfiguration)
- プラットホーム:
TFSBuild.proj ファイルをビルドできますか?
TFSBuild.proj
ファイルをビルドすることはできません。 これらの種類のファイルは、TFS 2005
と TFS 2008
によって生成されます。 これらのファイルにはタスクが含まれており、ターゲットは XAML ビルド使用してのみサポートされます。
トラブルシューティング
このセクションでは、MSBuild
タスクを使用するときにユーザーが発生する可能性がある一般的な問題のトラブルシューティングのヒントを示します。
- ビルドが失敗し、次のエラーが発生しました:MSBuild の実行中に内部エラーが発生しました
次のエラーでビルドに失敗しました:MSBuild の実行中に内部エラーが発生しました
考えられる原因
- MSBuild のバージョンを変更します。
- サード パーティの拡張機能に関する問題。
- ビルド エージェントでアセンブリが見つからない可能性がある Visual Studio の新しい更新。
- 必要な NuGet パッケージの一部を移動または削除しました。
トラブルシューティングの提案
診断を使用してパイプラインを実行して詳細なログを取得する
問題を診断するために使用できるオプションの 1 つは、生成されたログを確認することです。 パイプライン実行の概要で適切なタスクとジョブを選択して、パイプライン ログを表示できます。
パイプライン実行のログを取得するには 問題を診断するためのログを取得
トラブルシューティングに役立つカスタマイズされた詳細ログをセットアップしてダウンロードすることもできます。
パイプライン診断ログに加えて、問題のデバッグと解決に役立つ詳細情報を含む他の種類のログも確認できます。
エラーをローカルで再現してみてください
ホストされたビルド エージェントを使用している場合は、エラーをローカルで再現してみてください。 これにより、失敗がビルド エージェントの結果かビルド タスクかを絞り込むのに役立ちます。
同じ引数を使用して、ローカル コンピューターで同じ MSBuild
コマンドを実行します。 MSBuild コマンド 参照してください。
ヒント
ローカル コンピューターで問題を再現できる場合は、次の手順として MSBuild の問題 調査します。
Microsoft でホストされるエージェント の詳細について説明します。
独自のセルフホステッド エージェントをセットアップし、ビルド ジョブを実行するには:
他に何ができますか?
MSBuild エラーの一部は Visual Studio の変更によって発生するため、Visual Studio Developer Community 検索して、この問題が報告されているかどうかを確認できます。 また、ご質問、ご提案、フィードバックをお待ちしております。
必要条件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド |
実行日 | エージェント、DeploymentGroup |
の需要 | セルフホステッド エージェントには、このタスクを使用するジョブを実行するための 要求に一致する 機能 が必要です。 |
機能の | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | どれでも |
設定可能な変数 | どれでも |
エージェントのバージョン | 1.95.0 以上 |
タスク カテゴリ | 建築する |
こちらもご覧ください
- Visual Studio ビルド タスク の