2009-07-17 4 views
0

J'ai un script de construction nant qui spécifie la compilation de divers fichiers de solution Visual Studio.Pourquoi le traitement de plusieurs cibles individuelles prend-il plus de temps lorsque Nant est chargé de les traiter à partir d'une seule cible?

<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> 

J'ai plusieurs solutions spécifiées dans les objectifs compile.solution1, compile.solution2, compile.solution3 ... compile.solution7

J'ai une autre cible qui précise que tout le groupe de solutions doivent être compilé:

<target name="compile" depends="compile.solution1, compile.solution2, 
compile.solution3, compile.solution4, compile.solution5, compile.solution6, 
compile.solution7" description="Compiles all targets" /> 

Quand je le temps qu'il faut pour exécuter il la cible « compiler » et de le comparer à la somme du temps, il tâches à exécuter chacun des objectifs individuels de compile.solutionX Je trouve que le " compile "prend 30 secondes de plus.

Je ne comprends pas pourquoi c'est le cas? Dans mon esprit, la cible de "compilation" devrait agir comme une boucle for-et la différence entre elle et l'exécution de chacun individuellement devrait être minimale.

Est-ce que quelqu'un sait si plus de choses se passent en tâche de fond dans Nant lors du traitement de plusieurs solutions définies dans une seule cible? Désolé pour l'horrible titre de la question .... Je ne savais pas comment l'exprimer.

Répondre

2

Je suppose que l'évaluation des dépendances prend plus de temps lorsque vous avez plusieurs cibles répertoriées dans l'attribut depends et que cela prend plus de temps supplémentaire pour chaque cible non triviale ajoutée à la liste.

Questions connexes