Я реорганизую свои существующие скрипты сборки NAnt, чтобы иметь возможность использовать их практически в любом проекте и получать правильные значения, отправленные из CruiseControl .NET.Однако я столкнулся с проблемой, когда цель не была установлена правильно.
Я определил свой вызов NAnt следующим образом:
<tasks>
<nant>
<executable>$(NAntExecutablePath)</executable>
<buildFile>D:\ci\default.build.xml</buildFile>
<!--baseDirectory></baseDirectory-->
<buildArgs>
-D:SolutionFile="$(Batch_WorkingFolderTrunk)\MySolution.sln"
-D:LocalDeployRoot=D:\ci\deploy\MyProject
</buildArgs>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
и мой файл сборки имеетнеобходимые обязательные задачи
<target name="clean">
<exec program="${MSBuildPath}">
<arg line='"${SolutionFile}"' />
<arg line="/property:Configuration=${SolutionConfiguration}" />
<arg value="/target:Clean" />
<arg value="/verbosity:normal" />
<arg value="/nologo" />
<arg line='/logger:"${CcnetMsbuildLoggerPath}"' if="${file::exists('${CcnetMsbuildLoggerPath}')}"/>
</exec>
<delete>
<fileset basedir=".">
<include name="bin\**\*" />
<include name="TestResults\**\*" />
</fileset>
</delete>
</target>
<target name="build" depends="clean">
<delete>
<fileset basedir="${LocalDeployRoot}">
<include name="**\*"/>
</fileset>
</delete>
<exec program="${MSBuildPath}">
<arg line='"${SolutionFile}"' />
<!--arg line='/property:Configuration="${SolutionConfiguration}"' /-->
<arg line='/property:OutputPath="${LocalDeployRoot}"' />
<!--arg line='/property:Platform="${SolutionPlatform}"' /-->
<arg value="/target:Rebuild" />
<arg value="/verbosity:normal" />
<arg value="/nologo" />
<arg line='/logger:"${CcnetMsbuildLoggerPath}"' if="${file::exists('${CcnetMsbuildLoggerPath}')}"/>
</exec>
</target>
Мои сообщения об ошибках:
Целевая структура: Microsoft .NET Framework 4.0 Заданные цели:
build
[echo] Starting the build script
BUILD FAILED
Цель '' не существует в этом проекте.
Общее время: 0,1 секунды.
Есть идеи?
Я могу успешно запустить скрипт NAnt из командной строки:
D: \ ci> nant-0.91 \ bin \ nant.exe /f:default.build.xml build -D:SolutionFile = "D: \ ci \ code \ MyProject \ MySolution.sln" -D: LocalDeployRoot = D: \ ci \ deploy \ MyProject