secretbase.log

.NET/C#/Pythonなど

MSBuild オプション基礎文法最速マスター

MSBuild のオプションについて知っておくと 自動ビルドをする際に便利です。オプション(スイッチ)について身につけましょう。

構文

MSBuild.exe [オプション] [プロジェクト ファイル]

実行例

 MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
 MSBuild MyApp.csproj /t:Clean 
                      /p:Configuration=Debug;TargetFrameworkVersion=v3.5

説明

プロジェクト ファイル内の指定したターゲットをビルドします。

プロジェクト ファイルを指定しなかった場合、
現在の作業ディレクトリの中から "proj"で終わるファイル拡張子を検索し、そのファイルを使用します。

スイッチ

/target:<ターゲット>

    このプロジェクト内でビルドするターゲットです。
    複数のターゲットをセミコロンまたはコンマで区切って
    指定するか、各ターゲットを個別に指定します (短い形式: /t)。

    例:
     /target:Resources;Compile

/property:=

    設定またはオーバーライドするプロジェクトレベルのプロパティです。
     <n> はプロパティ名、 <v> はプロパティ値です。
    複数のプロパティをセミコロンまたはコンマで区切って
    指定するか、各プロパティを個別に指定します (短い形式: /p)。

    例:
     /property:WarningLevel=2;OutDir=bin\Debug\

/maxcpucount[:n]

    ビルド時の同時実行プロセスの最大数を指定します。
    スイッチが使用されない場合、既定値は 1 です。
    スイッチが値を指定することなく使用される場合、
    MSBuild は最大でコンピューターのプロセッサ数を使用します 

    (短い形式: /m[:n])。

/toolsversion:<バージョン>

    ビルド中に使用する MSBuild Toolset (タスク、ターゲットなど)
    のバージョンです。このバージョンは、
    個別のプロジェクトで指定されたバージョンをオーバーライド
    します。(短い形式: /tv)

    例:
      /toolsversion:3.5

/verbosity:<レベル>

    表示するイベント ログの情報量です。
    使用できる詳細レベル: 
      q[uiet]、 m[inimal]、
      n[ormal]、d[etailed]、diag[nostic] (短い形式: /v)。

    例:
      /verbosity:quiet

/consoleloggerparameters:<パラメーター>

    コンソール ロガーへのパラメーターです (短い形式: /clp)。

    使用できるパラメーター:
      PerformanceSummary    -- タスク、ターゲット、プロジェクトに
                               使用した時間を表示します。
      Summary               -- エラーや警告の概要を終了時に表示します。
      NoSummary             -- エラーや警告の概要を終了時に表示しません。
      ErrorsOnly            -- エラーのみを表示します。
      WarningsOnly          -- 警告のみを表示します。
      NoItemAndPropertyList -- 各プロジェクト ビルドの開始時に
                               項目とプロパティの一覧を表示しません。
      ShowCommandLine       -- TaskCommandLineEvent メッセージを表示します。
      ShowTimestamp         -- タイムスタンプをメッセージの先頭に表示します。
      ShowEventId           -- 開始したイベント、終了したイベント、および
                               メッセージの eventId を表示します。
      ForceNoAlign          -- テキストをコンソール バッファーのサイズに
                               合わせません。
      DisableConsoleColor   -- すべてのログ メッセージに、
                               コンソールの既定の色を使用します。
      DisableMPLogging      -- マルチプロセッサ以外のモードで
                               実行されている場合にマルチプロセッサ ログ出力方法を
                               無効にします。
      EnableMPLogging       -- マルチプロセッサ以外のモードで
                               実行されている場合でもマルチプロセッサ ログ出力
                               方法を有効にします。このログ出力方法はデフォルトで
                               有効です。
      Verbosity             -- このロガーの /verbosity 設定をオーバーライド
                               します。
   例:
    /consoleloggerparameters:PerformanceSummary;NoSummary;Verbosity=minimal

/noconsolelogger

    既定のコンソール ロガーを無効にし、イベントのログを
    コンソールに記録しません (短い形式: /noconlog)。

/fileLogger[n]

    ビルド出力のログをファイルに記録します。既定では、
    このファイルは "msbuild[n].log" という形式の名前で現在の
    ディレクトリに置かれます。
    すべてのノードのイベントは1 つのログに統合されます。

    ファイルの場所と fileLogger の他のパラメーターは、"/fileLoggerParameters[n]"
    スイッチを追加して指定できます。
    "n" は (存在する場合は) 19 の数値で、最大 10 のファイル ロガー
    をアタッチできます  (短い形式:/fl[n])。

/fileloggerparameters[n]:<パラメーター>

    ファイル ロガーの追加のパラメーターを提供します。
    このスイッチの存在は、対応する /filelogger[n] スイッチの存在を暗示します。
    "n" は (存在する場合は) 19 の数値です。
    /fileloggerparameters も分散ファイル ロガーによって使用されます。
    /distributedFileLogger の説明を参照してください(短い形式: /flp[n])。

    コンソール ロガーと同じパラメーターを使用できます。
    使用できるその他の主要なパラメーター:

      LogFile       -- ビルド ログの書き込み先のログ ファイルへのパス。
      Append        -- ビルド ログをログ ファイルに追加するか、
                       ビルド ログでログ ファイルを上書きするかを
                       決定します。このスイッチを設定すると、ビルド ログは
                       ログ ファイルに追加されます。
                       スイッチを設定しない場合は、既存のログ ファイルの
                       内容が上書きされます。
                       既定ではログ ファイルに追加されません。

      Encoding      -- UTF-8Unicode、ASCII など、ファイルの
                       エンコーディングを指定します。
                       既定の詳細設定は Detailed です。

    例:
       /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

/distributedlogger:<中心ロガー>*<転送ロガー>

    MSBuild のイベントを記録して、各ノードに異なる
    ロガー インスタンスをアタッチするロガーです。
    複数のロガーがある場合は、各ロガーを個別に指定します(短い形式 /dl)。

    <ロガー> の構文:
       [<ロガー クラス>,]<ロガー アセンブリ>[;<ロガー パラメーター>]

    <ロガー クラス> の構文:
       [<一部または完全な名前空間>.]<ロガー クラス名>

   <ロガー アセンブリ> の構文:
       {<アセンブリ名>[,<厳密な名前>] | <アセンブリ ファイル>}

       <ロガー パラメーター> は省略可能であり、
       入力したとおりにロガーに渡されます  (短い形式: /l)。

   例:
      /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
      /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll

/distributedFileLogger

    ビルド出力のログを MSBuild ノードごとに 1 つずつ、全体で
    複数のログ ファイルに記録します。
    これらのファイルが最初に置かれる場所は、現在のディレクトリです。
    既定では、これらのファイル名は "MSBuild<nodeid>.log" のようになります。
  
    ファイルの場所と fileLogger の他のパラメーターは、"
    "/fileLoggerParameters スイッチを追加して指定できます。

    fileLoggerParameters スイッチでログ ファイル名を設定した
    場合、分散ロガーは fileName をテンプレートとして使用し、
    この fileName の末尾にノード ID を追加して、
    各ノードのログ ファイルを作成します。

/logger:<ロガー>

    MSBuild のイベントを記録するロガーです。
    複数のロガーがある場合は、各ロガーを個別に指定します。

    <ロガー> の構文:
       [<ロガー クラス>,]<ロガー アセンブリ>[;<ロガー パラメーター>]

    <ロガー クラス> の構文:
       [<一部または完全な名前空間>.]<ロガー クラス名>

    <ロガー アセンブリ> の構文:
       {<アセンブリ名>[,<厳密な名前>] | <アセンブリ ファイル>}

    <ロガー パラメーター> は省略可能であり、
       入力したとおりにロガーに渡されます  (短い形式: /l)。

    例:
       /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
       /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

/validate

     プロジェクトを既定のスキーマと比較して検証します (短い形式: /val)。

/validate:<スキーマ>

    プロジェクトを指定したスキーマと比較して検証します (短い形式: /val)。

    例:
       /validate:MyExtendedBuildSchema.xsd

/ignoreprojectextensions:<拡張子>

    ビルドするプロジェクトを決定するときに除外する拡張子の一覧です。
    複数の拡張子はセミコロンまたはコンマで区切ります。
    (短い形式: /ignore)

    例:
       /ignoreprojectextensions:.vcproj,.sln

/nodeReuse:<パラメーター>

    MSBuild ノードの再利用を有効または無効にします。
 
   パラメーター:
      True    -- ビルドが完了してもノードを残し、
                 後のビルドで再利用します (既定)。

      False   -- ビルドが完了したらノードを残しません
                 (短い形式: /nr)。

     例:
        /nr:true

/preprocess[:file]

    ビルド中にインポートされるすべてのファイルをインライン展開することで、
    単一の集約されたプロジェクトファイルを作成します。

    ファイルの境界にはマークが挿入されます。
   これは、インポートされるファイルとそれが存在する場所、
    およびビルドに対するファイルの関係を明らかにするのに役立ちます。

    既定では、出力はコンソールウィンドウに表示されます。
    出力ファイルのパスを指定すると、代わりにそのパスが使用されます。
    (短い形式: /pp)

    例:
       /pp:out.txt

/detailedsummary

    ビルドの最後に、ビルド構成と、ノードに対して
    どのようにスケジュールされていたかについて、
    詳細情報が表示されます。
    (短い形式: /ds)

@<ファイル>

    コマンド ライン設定をテキスト ファイルから挿入します。
    複数の応答ファイルがある場合は、各応答ファイルを個別に
    指定します。

/noautoresponse

    MSBuild.rsp ファイルを自動的に含めません
    (短い形式:/noautorsp)。

/nologo

    著作権情報を表示しません。

/version

    バージョン情報だけを表示します (短い形式: /ver)。

/help

    このヘルプ メッセージを表示します (短い形式: /? または /h)。

参考

MSBuild /help


ごめんなさい><タイトルは釣りです。内容は単なるヘルプを見やすく整理したものですがお役に立てれば幸いです。。



Windows コマンドプロンプト ポケットリファレンス

Windows コマンドプロンプト ポケットリファレンス