带替换现有文件选项的Msbuild

带替换现有文件选项的Msbuild,msbuild,cruisecontrol.net,Msbuild,Cruisecontrol.net,我正在使用MsBuild构建和发布我的项目(以及CruiseControl.Net)。我已经设置好了一切,效果很好,但问题是它会覆盖已部署文件夹中的所有现有文件(该文件夹包含用户数据,我可以在生成/发布后进行xcopy,但用户数据只有几gig,这将导致每个自动生成上的磁盘活动过多) 所以我想做的是使用“仅替换现有文件”选项,而不是从文件夹中删除所有内容。我在VisualStudio2010中获得此选项发布时,您可以“替换现有文件”或“先删除所有文件”,如何使用msbuild命令参数执行此操作

我正在使用MsBuild构建和发布我的项目(以及CruiseControl.Net)。我已经设置好了一切,效果很好,但问题是它会覆盖已部署文件夹中的所有现有文件(该文件夹包含用户数据,我可以在生成/发布后进行xcopy,但用户数据只有几gig,这将导致每个自动生成上的磁盘活动过多)

所以我想做的是使用“仅替换现有文件”选项,而不是从文件夹中删除所有内容。我在VisualStudio2010中获得此选项发布时,您可以“替换现有文件”或“先删除所有文件”,如何使用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>

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
C:\CCnet\dmisr-web\u workingdir\MAKANI
MAKANI.sln
/noconsolelogger/v:quiet/p:Configuration=Staging/p:DeployOnBuild=true/p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder/p:_PackageTempDir=“c:\dMisr\Web-Deployed”/p:autoparameteringWebConfigConnectionStrings=false
重建
600
这个答案可能会有所帮助

看起来您可能只需要为msbuild提供一个额外的属性


SkipExtraFilesOnServer=True

/p:SkipExtraFilesOnServer=True
在使用这些生成参数时仍在为我删除其他文件
/p:DeployOnBuild=true;DeployTarget=PipelinePreDeployyCopyallFilesTooneFolder_PackageTempDir=\\Network\Share\code/p:AutoParameterizationWebConfigConnectionStrings=false/p:SkipExtraFilesOnServer=true


我似乎没有能力发表评论。因此,在回答部分提供了我的评论。

仍然不适用于我,它仍然删除现有文件只是为了确认,您的构建参数现在相当于:
/noconsolelogger/v:quiet/p:Configuration=Staging/p:DeployOnBuild=true/p:DeployTarget=pipelinepredeploycopyallfilestonefolder/p:\u PackageTempDir=“c:\dMisr\Web-Deployed”/p:AutoParameterizationWebConfigConnectionStrings=false/p:SkipExtraFilesOnServer=true