Jestem nowy NAnt i udało się stworzyć <target>
któryNAnt <msbuild> niestandardowy katalog wyjściowy
1) Usuwa dowolny kod z bieżącym folderze
2) Wywóz kod świeże z SVN
3) Buduje kod w domyślnym katalogu, który jest folderem PrecompiledWeb (jej aplikacja internetowa)
Oto ona:
<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>
Chcę określić niestandardowy katalog wyjściowy (inny niż "PrecompiledWeb"). Czy to możliwe i czy mógłbyś pokazać mi niezbędny tag/właściwość?
Dziękujemy!
EDIT
Dzięki Scott i Si, jestem coraz bliżej do rozwiązania, ale nadal nie ma niczego, co działa. Tam komentarze doprowadziły mnie do tego artykułu na temat MSBuild's Output Path Property. Używając ich kodu:
<?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>
To się powiedzie; Jednak w moim rozwiązaniu, które zawiera witrynę WWW i bibliotekę klas, publikuje bibliotekę DLL biblioteki klasy do określonej ścieżki wyjściowej, ale nadal publikuje rzeczywistą witrynę internetową do domyślnego folderu PrecompiledWeb.
Czy ktoś ma jakieś sugestie, jak zmienić ścieżkę folderu PrecompiledWeb z NAnt?
Jeszcze raz dziękuję wszystkim, którzy pomogli!
Edycja 2 Ostateczne rozwiązanie
Oto co w końcu udało mi się dostać pracę (aktualizacja 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>
Jeśli używasz projektu wdrożenia internetowej można zdefiniować OutputPath dla cała strona internetowa. Poza tym, być może będziesz musiał zagłębić się w skrypty Microsoft MSBuild? – si618