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 ノードの再利用を有効または無効にします。次の値を指定できます。
ノードは、実行中のプロジェクトに対応します。/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 応答ファイル」を参照してください。 |
ロガーのスイッチ
スイッチ |
省略形 |
説明 |
---|---|---|
/consoleloggerparameters:parameters |
/clp:parameters |
、コンソール ウィンドウのビルド情報を表示、コンソール logger に指定するパラメーターを渡します。次のパラメーターを指定できます:
次の例に示すように、複数のパラメーターをセミコロンまたはコンマを使用する: /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用に表示されるすべてのパラメーターを使用できます。以下のパラメーターを一つ以上使用できます:
次の例では警告とエラー用の個別のログ ファイルが生成されます: /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