2009-03-09 5 views
0

J'ai remarqué que les projets créés à l'origine dans VS 2008 ne sont pas compilés à l'aide de la tâche nantcontrib msbuild. Il y a une solution que j'ai vu here mais cela semble être un peu un hack, étant donné que MSBuildBinPath a été détruit, et je n'aime pas vraiment l'idée de changer cette propriété sur chaque fichier de projet que je crée VS 2008.Exécution des générations à l'aide de .net 3.5 MSBuild et NantContrib

A défaut de modifier les scripts de construction pour appeler msbuild via une tâche exec, est-il possible de pointer la tâche msbuild sur une version particulière de MSBuild? Peut-être que c'est dans les travaux pour la prochaine version de Nant?

Répondre

3

Il y a une autre option, appeler MSBuild.exe directement.

Voici un exemple:

<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe"/>  
    <target name="build"> 
     <exec program="${MSBuildPath}"> 
      <arg line='"${SolutionFile}"' /> 
      <arg line="/property:Configuration=${SolutionConfiguration}" /> 
      <arg value="/target:Rebuild" /> 
      <arg value="/verbosity:normal" /> 
      <arg value="/nologo" /> 
     </exec> 
    </target> 

Si vous appelez de Nant Cruise Control .NET, vous pouvez également ajouter cet argument:

<arg line='/logger:"C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll"'/> 
Questions connexes