我正在使用 MsBuild 构建和发布我的项目(连同 CruiseControl.Net)。我已经设置了所有内容并且效果很好,但问题是它覆盖了已部署文件夹中的所有现有文件(并且该文件夹包含用户数据,我可以在构建/发布后执行 xcopy,但用户数据是一些演出和这在每个自动构建上都会有太多的磁盘活动)。
所以我想做的是使用“仅替换现有文件”选项,而不是从文件夹中删除所有内容。我在发布时在 Visual Studio 2010 中获得了此选项,您可以“替换退出文件”或“首先删除所有文件”,如何使用 msbuild 命令参数执行此操作。
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\CCnet\dmisr-web_workingdir\MAKANI</workingDirectory>
<projectFile>MAKANI.sln</projectFile >
<buildArgs>/noconsolelogger /v:quiet /p:Configuration=Staging /p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\dMisr\Web - Deployed" /p:AutoParameterizationWebConfigConnectionStrings=false</buildArgs>
<targets>ReBuild</targets >
<timeout>600</timeout >
</msbuild>