なぜナントは、単一のターゲットからそれらを処理するように指示されたときに、複数の個別目標は時間がかかる処理のでしょうか?
-
16-09-2019 - |
質問
私は、さまざまなVisual Studioのソリューションファイルのコンパイルを指定するNAntのビルドスクリプトを持っています。
<target name="compile.solution1" description="Compiles solution 1">
<msbuild project="${src.dir}\Solution1.sln" verbosity="${build.verbosity}">
<property name="Configuration" value="${build.config}" />
<property name="OutputPath" value="${build.fullpath}/${prefix.sol1}" />
<property name="ReferencePath" value="${assembly.dir}" />
</msbuild>
</target>
私は、ターゲットcompile.solution1、compile.solution2、compile.solution3 ... compile.solution7
で指定された複数のソリューションを持っています私は、ソリューションの全体の束をコンパイルするように指定し、別のターゲットを持っています:
<target name="compile" depends="compile.solution1, compile.solution2,
compile.solution3, compile.solution4, compile.solution5, compile.solution6,
compile.solution7" description="Compiles all targets" />
と、それは「コンパイル」と「コンパイル」ターゲットは30秒かかることを私は見つける個々compile.solutionXターゲットのそれぞれを実行するために、時間もタスクの合計にそれを比較対象を実行するのにかかるどのくらいの時間、私は時間長います。
このような場合は、なぜ私は理解していませんか?私の心の中で「コンパイル」の目標は、forループとして行動しなければならないし、それとの間に、個別に各1を実行して違いは最小限である必要があります。
単一のターゲットで定義された複数のソリューションを処理するときよりはナントでのバックグラウンドで上になった場合、誰もが知っていますか?
質問の恐ろしいタイトルのために申し訳ありませんが....私は知りませんでしたどのフレーズにそれをする。
解決
私は依存関係の評価はあなたがdepends
属性に記載されている複数のターゲットを持っていたときに時間がかかり、それがリストに追加された各非自明な目標のためにそれ以上の追加の時間を要することを推測すると思います。
所属していません StackOverflow