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