Msbuild 10 и Nant не копируют выходной веб-выход - PullRequest
2 голосов
/ 21 февраля 2011

Кажется, я не могу заставить Нанта скопировать мое веб-решение в выходную папку, например на тестовый сервер.Он просто не будет копировать файлы, даже если сборка завершится успешно.

Согласно документации / p: WebProjectOutputDir должен это сделать.

Заранее спасибо.

<echo message="Compiling ${msbuild.workingdir}\${package.name}.sln - Copy to ${development.path}"/>
<exec program="msbuild.exe" basedir="${msbuild.path}" workingdir="${msbuild.workingdir}">
  <arg value="/p:Configuration=Test" />
  <arg value="/p:UseWPP_CopyWebApplication=True" />
  <arg value="/noconsolelogger" />
  <arg value="/v:d" />
  <arg value="/logger:${lib.nant.path}\loggers\Rodemeyer.MsBuildToCCnet.dll"/>
  <arg value="/t:rebuild;ResolveReferences;_CopyWebApplication"/>
  <arg value="/p:OutDir=\\latchford\Drop\Club.Registration.DailyBuild\current\bin" />
  <arg value="/p:WebProjectOutputDir=\\latchford\Drop\Club.Registration.DailyBuild\current\" />
  <arg value="${package.name}.sln"/>
</exec>
<property name="msbuild.output.file" value="${msbuild.workingdir}/msbuild-output.xml"/>
<move if="${file::exists(msbuild.output.file)}" file="${msbuild.output.file}" todir="${log.dir}" failonerror="false" overwrite="true" />

1 Ответ

3 голосов
/ 21 февраля 2011

1.Свойство OutDir должно заканчиваться косой чертой: /p:OutDir=..\current\bin\
2.Параметр UseWPP_CopyWebApplication не требуется просто копировать в ваш выводКажется, достаточно только перестроить цель, чтобы вызвать

<exec program="msbuild.exe" basedir="${msbuild.path}" workingdir="${msbuild.workingdir}">
  <arg value="/p:Configuration=Test" />
  <arg value="/noconsolelogger" />
  <arg value="/v:d" />
  <arg value="/logger:${lib.nant.path}\loggers\Rodemeyer.MsBuildToCCnet.dll"/>
  <arg value="/t:rebuild"/>
  <arg value="/p:OutDir=\\latchford\Drop\Club.Registration.DailyBuild\current\bin\" />
  <arg value="/p:WebProjectOutputDir=\\latchford\Drop\Club.Registration.DailyBuild\current\" />
  <arg value="${package.name}.sln"/>
</exec>
...