MSBuild コマンド ライン リファレンス

プロジェクト ファイルまたはソリューション ファイルをビルドに MSBuild.exe を使用する場合は、プロセスのさまざまな側面を指定するために、いくつかのスイッチを含めることができます。

MSBuild.exe [Switches] [ProjectFile]

引数

引数

説明

ProjectFile

指定したプロジェクト ファイルのターゲットをビルドします。プロジェクト ファイルを指定しない場合、MSBuild は file "proj" と使用中のファイル名拡張子を現在の作業ディレクトリを検索します。また、この引数で Visual Studio ソリューション ファイルを指定できます。

スイッチ

スイッチ

省略形

説明

/help

/?または /h

表示の使用方法。次のコマンド例はです:

msbuild.exe /?

/detailedsummary

/ds

ビルド ログの末尾に詳細情報をビルドおよび動作については、ノードにスケジュールされた構成します。

/ignoreprojectextensions: extensions

/ignore: extensions

ビルドするプロジェクト ファイルを確認するときは指定した拡張子を無視します。次の例に示すように、複数の拡張子をセミコロンまたはコンマを使用する:

/ignoreprojectextensions:.vcproj,.sln

/maxcpucount [:number]

/m [:number]

ビルドと同時実行プロセスの最大数を指定します。このスイッチが含まれていない場合、既定値は 1.です。値を指定せずにこのスイッチが含まれている場合、MSBuild は、コンピューター上のプロセッサの数まで使用します。詳細については、「MSBuild での複数のプロジェクトの並行ビルド」を参照してください。

次の例は、同時にビルドする 3 種類のプロジェクトに割り当てる MSBuild に MSBuild の 3 種類のプロセスを使用してビルドするように命令するためです:

msbuild myproject.proj /maxcpucount:3

/noautoresponse

/noautorsp

MSBuild.rsp ファイルを自動的に含めないでください。

/nodeReuse:value

/nr:value

MSBuild ノードの再利用を有効または無効にします。次の値を指定できます。

  • True。ノードは以降のビルドが同様に、ビルドの完了後に残ります (既定値)。

  • False。ノードは、ビルドが完了した後に残りません。

ノードは、実行中のプロジェクトに対応します。/maxcpucount スイッチが含まれている場合は、複数のノードが同時に実行できます。

/nologo

開始メッセージまたは著作権メッセージが表示されます。

/preprocess [:filepath]

/pp [:filepath]

ビルド時にインポート指定されていない境界がすべてのファイルをインライン展開によって、一つの集約されたプロジェクト ファイルを作成します。ファイルの場所にインポートする場合は、からファイルをビルドに使用されるファイルをインポートする方法をより簡単に決定このスイッチを使用できます。このスイッチを使用すると、プロジェクトがビルドされます。

filepathを指定すると、集約プロジェクト ファイルに出力されます。それ以外の場合は、出力がコンソール ウィンドウに表示されます。

Import の要素を別のプロジェクト ファイル、プロジェクト ファイルを追加する方法の詳細については、Import 要素 (MSBuild)方法 : 複数のプロジェクト ファイルで同じターゲットを使用するを参照してください。

/property:name=value

/p:name=value

セットは、または name がプロパティ名である value がプロパティ値である指定したプロジェクト レベルのプロパティをオーバーライドし。次の例に示すように、各プロパティを個別に指定したり、複数のプロパティをセミコロンまたはコンマを使用する:

/property:WarningLevel=2;OutputDir=bin\Debug

/target:targets

/t: targets

プロジェクトの特定のターゲットをビルドします。次の例に示すように、各ターゲットを個別に指定したり、複数のターゲットをセミコロンまたはコンマを使用する:

/target:Resources;Compile

このスイッチを使用してターゲットを指定すると、プロジェクト ファイルの DefaultTargets の属性の各ターゲットの代わりに実行されます。詳細については、「ターゲットのビルド順序」および「方法 : 最初にビルドするターゲットを指定する」を参照してください。

ターゲットは、タスクのグループです。詳細については、「MSBuild ターゲット」を参照してください。

/toolsversion:version

/tv:version

次の例に示すように、ツールセットのバージョンをプロジェクトのビルドに使用するように指定します: /toolsversion:3.5

このスイッチを使用すると、プロジェクトをビルドし、Project 要素 (MSBuild)で指定されたバージョンとは異なるバージョンを指定できます。詳細については、「ToolsVersion 設定のオーバーライド」を参照してください。

MSBuild 4.5 では、versionには、次の値を指定できます: 2.0、3.5、および 4.0。4.0 を指定すると、VisualStudioVersion のビルド プロパティが使用するサブ ツールセットを指定します。詳細については、MSBuild ツールセット (ToolsVersion)のサブ ツールセットのセクションを参照してください。

ツールセットは、タスク、ターゲット、およびツールからアプリケーションのビルドに使用される構成されます。ツールは、csc.exe や vbc.exe などのコンパイラが含まれます。ツールセットの詳細については、MSBuild ツールセット (ToolsVersion)標準ツールセット構成とカスタム ツールセット構成MSBuild のマルチ ターゲットの概要を参照してください。

メモメモ
ツールセットのバージョンは、プロジェクトが実行されるビルド .NET Framework のバージョンであるターゲット フレームワークと同じではありません。詳細については、「MSBuild ターゲット フレームワークおよびターゲット プラットフォーム」を参照してください。

/validate: [schema]

/val [schema]

プロジェクト ファイルを検証し、成功した場合は、プロジェクトをビルドします。

schemaを指定しない場合、プロジェクトは既定のスキーマに対して検証されます。

schemaを指定すると、プロジェクトは、指定したスキーマに対して検証されます。

次の設定の例を示します: /validate:MyExtendedBuildSchema.xsd

/verbosity:level

/v:level

ビルド ログに表示する情報の量を指定します。各 logger は、イベントをその詳細出力レベルに基づいてそのロガーに設定されます。

次の出力レベルを指定できます: q[uiet]m[inimal]n[ormal]d[etailed]diag[nostic]

次の設定の例を示します: /verbosity:quiet

/version

/ver

表示のバージョン情報だけ。プロジェクトがビルドされます。

@file

テキスト ファイルからのコマンド ライン スイッチ。複数ファイルがある場合は、それらを個別に指定します。詳細については、「MSBuild 応答ファイル」を参照してください。

ms164311.collapse_all(ja-jp,VS.110).gifロガーのスイッチ

スイッチ

省略形

説明

/consoleloggerparameters:parameters

/clp:parameters

、コンソール ウィンドウのビルド情報を表示、コンソール logger に指定するパラメーターを渡します。次のパラメーターを指定できます:

  • PerformanceSummary。タスク、ターゲット、およびプロジェクトで費やされた時間を示します。

  • 概要。最後にエラーおよび警告の概要を示します。

  • NoSummary。最後にエラーおよび警告の概要が表示されないようにします。

  • ErrorsOnly。エラーのみを表示します。

  • WarningsOnly。警告のみを表示します。

  • NoItemAndPropertyList。詳細出力レベル diagnosticがに設定されている場合、各プロジェクト ビルドの最初に表示されるプロパティと項目のリストが表示されないようにします。

  • ShowCommandLineTaskCommandLineEvent のメッセージを表示します。

  • ShowTimestamp。各メッセージにプレフィックスとしてタイムスタンプを表示します。

  • ShowEventId。各イベントの開始、終了したイベントおよびメッセージのイベントの ID を表示します。

  • ForceNoAlign。コンソール バッファーのサイズに合わせてテキストを配置しないでください。

  • DisableConsoleColor。すべてのログ メッセージの既定のコンソール色を使用します。

  • DisableMPLogging。非マルチプロセッサ モードで実行されている場合、出力マルチプロセッサ ログのスタイルを無効にします。

  • EnableMPLogging。非マルチプロセッサ モードで実行される場合でもマルチプロセッサ ログのスタイルを有効にします。このログのスタイルは既定でになります。

  • 詳細。この logger で設定 /verbosity をオーバーライドします。

次の例に示すように、複数のパラメーターをセミコロンまたはコンマを使用する:

/consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal

/distributedFileLogger

/dfl

独自のファイルに MSBuild の各ノードのビルド出力を記録します。これらのファイルの初期位置は、現在のディレクトリです。既定では、ファイルは "MSBuildNodeId.log" という名前です。fileLogger のファイル、他のパラメーターの位置を指定するには /fileLoggerParameters スイッチを使用できます。

/fileLoggerParameters スイッチによってログ ファイルを参照する場合は、分散 logger はテンプレートとして各ノードのログ ファイルを作成するときにこの名前を使用し、その名前を使用してノードの ID を追加します。

/distributedlogger:central logger*forwarding logger

/dl:central logger*forwarding logger

各ノードに別の logger のインスタンスをアタッチする MSBuild からのイベント ログ。複数の logger を指定するには、各 logger を個別に指定します。

logger を指定するには、logger の構文を使用します。logger の構文については、次 /logger スイッチを参照してください。

次の例では、このスイッチを使用する方法を示します:

/dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

/dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll

/fileLogger[数]

/fl [number]

現在のディレクトリの単一のファイルに、ビルド出力を記録します。numberを指定しない場合、出力ファイルは msbuild.log という名前です。numberを指定すると、出力ファイルは n は numberである場合に、msbuildn.log という名前です。Number は 1.から 9 までの整数になる場合があります。

fileLogger のファイルの位置、他のパラメーターを指定するために /fileLoggerParameters スイッチを使用できます。

/fileloggerparameters:[number] parameters

/flp:[ number] parameters

ファイル logger と分散ファイル logger の追加パラメーターを指定します。このスイッチの存在は、対応filelogger[/number] スイッチがあることを意味します。Number は 1.から 9 までの整数になる場合があります。

/consoleloggerparameters用に表示されるすべてのパラメーターを使用できます。以下のパラメーターを一つ以上使用できます:

  • LogFile。ビルド ログが書き込まれるログ ファイルへのパス。分散ファイル logger はログ ファイルの名前に、このパスの前に付けます。

  • 追加します。ビルド ログがログ ファイルに、追加またはオーバーライドするかどうかを指定します。このスイッチを設定すると、ビルド ログはログ ファイルに追加して記録されます。スイッチを設定しないと、既存のログ ファイルの内容が上書きされます。

  • エンコーディング。ファイルのエンコードを指定します (たとえば、UTF-8、Unicode、または ASCII)。

次の例では警告とエラー用の個別のログ ファイルが生成されます:

/flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly

次の例は、他の可能性を示しています:

/fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8

/flp:Summary;Verbosity=minimal;LogFile=msbuild.sum

/flp1:warningsonly;logfile=msbuild.wrn

/flp2:errorsonly;logfile=msbuild.err

/logger:logger

/l:logger

MSBuild からのイベントをログに記録する logger を指定します。複数の logger を指定するには、各 logger を個別に指定します。

loggerには、次の構文を使用する: [LoggerClass,]LoggerAssembly[;LoggerParameters]

LoggerClassには、次の構文を使用する: [PartialOrFullNamespace.]LoggerClassName

アセンブリに 1 人の logger を正確に含まれている場合は、logger クラスを指定する必要はありません。

LoggerAssemblyには、次の構文を使用する: {AssemblyName[,StrongName] |AssemblyFile}

logger のパラメーターはそれらを入力すると、必要に応じて logger に渡されます。

次の例では /logger スイッチを使用します。

/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

/noconsolelogger

/noconlog

既定のコンソール ロガーを無効にし、コンソールにイベントを記録しないようにします。

使用例

MyProject.proj プロジェクトの rebuild ターゲットをビルドする例を次に示します。

MSBuild.exe MyProject.proj /t:rebuild

MSBuild.exe を使用して、より複雑なビルドを実行できます。たとえばそれを使用して、ソリューション内の特定のプロジェクトの特定のターゲットをビルドできます。次の例は、プロジェクト NotInSolutionFolder を再度ビルドし、NewFolder のソリューション フォルダーにあるプロジェクト InSolutionFolderをクリーンアップします。

msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean

参照

関連項目

MSBuild プロジェクトの共通プロパティ

その他の技術情報

MSBuild リファレンス