我似乎无法让 Nant 将我的 Web 解决方案复制到输出文件夹,例如测试服务器。即使构建成功,它也不会复制文件。
根据文档/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.OutDir 属性必须以斜杠结尾:/p:OutDir=..\current\bin\
2.参数UseWPP_CopyWebApplication不需要仅仅复制到您的输出
3.看来只需要重建目标来调用
<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>
关于Msbuild 10 和 Nant 不复制 weboutput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5065521/