2012-03-02 11 views

答えて

3

MSBuild(Visual Studioのビルドエンジン)は、アクションに使用されるツールが、ビルド中のプロジェクトファイルによって指定されるモデルを使用します。したがって、ツールのリストは、構築するプロジェクトのタイプに応じて異なります。任意のソリューションのビルドに使用されるツールのリストを見つける最も簡単な方法は、ツール - >オプション - >プロジェクト&ソリューション - >ビルド&を使用してMSBuildの詳細なログレベル(詳細または診断)をオンにすることですVisual Studioで実行し、ビルドターゲットによって現在呼び出されているツールの指示のためにビルド出力を解析/調査します。

+0

+1は、プロジェクトの種類によってツールが異なることを示します。 –

+0

ありがとう!私は詳細な出力を見ようとしました。しかし、わかります:タスク "Csc" "Csc"というタスクを実行しました。 csc.exeの呼び出し方法は示されていません。 cscを実行する呼び出し全体を何らかの形で見ることはできますか? – pencilCake

+0

ログにcsc.exeコマンドラインが表示されない場合、詳細モードでは実行されていません。詳細モードでは、ログは次のように表示されます。C:¥Windows¥Microsoft.NET¥Framework¥v4.0.30319¥Csc.exe/noconfig/nowarn:1701,1702/nostdlib +/errorreport:prompt/war n:4 /定義:デバッグ;トレース; SILVERLIGHT /リファレンス:... –

0

各プロジェクト(この場合はc#csproj)ファイルは、ビルドするためにmsbuild/visual studioが使用するmsbuildへのリンクです。

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

このターゲットは、使用される内部ファイルへのリンクです。

2

Nick Nieslanikが答えたところでは、実際のツールセットはプロジェクトの種類(およびターゲットプログラミング言語)、おそらく選択された.NETフレームワークバージョンによって異なると言われています。

MSBuildで使用されるすべての定義、プロパティ、ターゲットなどを一度に表示するには、完全に前処理されたプロジェクトファイル(MSBuild 4.0以降でのみ使用可能)を生成して確認することができます。 msbuild.exe /?出力から

/preprocess[:file] 
        Creates a single, aggregated project file by 
        inlining all the files that would be imported during a 
        build, with their boundaries marked. This can be 
        useful for figuring out what files are being imported 
        and from where, and what they will contribute to 
        the build. By default the output is written to 
        the console window. If the path to an output file 
        is provided that will be used instead. 
        (Short form: /pp) 
        Example: 

        /pp:out.txt 

例:この場合out.xml

msbuild.exe myproj.csproj /pp:out.xml 

は基本的にあなたが簡単に検索できるように、インライン全てImport -edのプロジェクトファイルを持っている自己完結型のファイルですそれらを参照してください。

関連する問題