Sono nuovo di NAnt e sono stato in grado di creare un <target>
cheNAnt directory di output personalizzati <msbuild>
1) cancella qualsiasi codice della cartella corrente
2) Esporta codice di fresco da SVN
3) costruisce il codice nella directory di default, che è la cartella PrecompiledWeb (sua una web app)
Eccolo:
<target name="export" description="export code from svn">
<delete dir="${Delete.Dir}"></delete>
<exec program="svn" commandline="export ${MySVN.Repos} ${MySVN.Dest}" />
<msbuild project="${Solution.Filename}">
<property name="Configuration" value="Release"/>
</msbuild>
</target>
Desidero specificare una directory di output personalizzata (diversa da "PrecompiledWeb"). È possibile e potresti mostrarmi la tag/proprietà necessaria?
Grazie!
EDIT
Grazie a Scott e Si, mi sto avvicinando a una soluzione, ma io ancora non hanno tutto ciò che funziona. I commenti mi hanno portato a questo articolo su MSBuild's Output Path Property. Usando il loro codice:
<?xml version="1.0"?>
<project name="test" default="build" basedir="." xmlns="http://nant.sf.net/schemas/nant-0.84.win32.net-1.0.xsd">
<target name="build">
<exec program="${framework::get-framework-directory('net-3.5')}/msbuild.exe">
<arg value="${Full.Path}\Code\MySolution.sln" />
<arg value="/p:OutputPath=${Full.Path}\Output\" />
</exec>
</target>
</project>
Questo funzionerà correttamente; tuttavia, nella mia soluzione che contiene un sito Web e una libreria di classi, pubblica la DLL della libreria di classi sul percorso di output specificato, ma è ancora pubblica il sito Web effettivo nella cartella predefinita di PrecompiledWeb.
Qualcuno ha qualche suggerimento su come modificare il percorso della cartella PrecompiledWeb da NAnt?
Grazie ancora a tutti coloro che hanno aiutato!
Edit 2 Soluzione Finale
Ecco quello che ho finalmente potuto ottenere lavoro (aggiornato per NET 4):
<exec program="${framework::get-framework-directory('net-4.0')}/msbuild.exe">
<arg value="${Full.Path}\Code\MySolution.sln" />
<arg value="/t:Rebuild" />
<arg value="/t:ResolveReferences" />
<arg value="/t:_CopyWebApplication" />
<arg value="/p:OutDir=${Build.Output}bin\" />
<arg value="/p:WebProjectOutputDir=${Build.Output}" />
<arg value="/p:Configuration=Release" />
</exec>
Se si utilizza un progetto di distribuzione Web è possibile definire OutputPath per la tutto il sito Oltre a questo, forse dovrai approfondire gli script Microsoft MSBuild? – si618