0

現在、Visual Studio 2010 で外部ツールとしてスプリントを利用できるようにしようとしています。

INCLUDE 変数はビルド時にのみ設定されているようで、インクルード ファイルを抽出する他の方法が見つからないため、ファイルのすべてのインクルードを見つけるのに問題があります。

私の質問:現在のファイルのプロジェクトの [プロパティ] ページから IncludeDir フィールドを抽出する方法はありますか?

4

1 に答える 1

1

また、AdditionalIncludeDirectories はプロジェクト レベルだけでなく、個々のソース ファイルに対しても変更できるため、ファイルごとであることに注意してください。また、マクロが含まれている場合は、ソース ファイルごとに異なる評価を行うこともできます。

私は API を介して MSBuild オブジェクトを操作することに慣れていませんが、これは IDE で使用されています。その方法であれ、単に MSBuild.exe を実行するだけであれ、すべてのプロパティ、条件などを把握し、結果を伝える必要があります。すべてが適切に動作する場合は、ClCompile アイテム配列も使用し、%(AdditionalIncludeDirectories)メタデータをファイルに書き込んだり、何らかの方法で他のツールに渡したりするなど、何らかの方法でメタデータを出力するターゲットを作成できます。これは、CL へのパラメーターを生成するために使用されるもの/Iであり、同じ値を取得できます。

詳細なビルド プロセス中に必要な値が変更されて動作が適切でない場合は、ClCompile ターゲットが通常行うのと同じように、同じプレリムを実行する必要があります。または、ClCompile を独自のものでオーバーライドするだけで (ターゲットの最後の定義が使用されます)、確実に同じコンテキストになります。

いずれにせよ、ビルド スクリプト ファイルをすべてのプロジェクトに自動的にインクルードできる場所があるので、そこに自分のものを追加するか、コマンド引数 (私が思うに) を MSBuild に使用して別のインクルードを追加できます。

—ジョン

于 2014-09-18T17:42:20.820 に答える