【发布时间】:2015-06-25 14:28:38
【问题描述】:
我正在使用 MSBuild 在我们的 CruiseControl 服务器上创建一个 Web 部署包,以部署我们的 Web 应用程序。在部署时,包中没有的所有内容都将在我们的服务器上删除。
我尝试将选项 SkipExtraFilesOnServer 选项设置为 true。但它被 Web Deploy 忽略了
<Target Name="CreateDeploymentPackage">
<MSBuild Projects="$(Web)" Targets="Package"
properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=False;
DeployTarget=Package;
SkipExtraFilesOnServer=True;
MSDeployUseChecksum=True;
PackageLocation=$(DeployDirectory)\_PublishedWebsites\DeployPackage\$(CurrentProject).zip;
PackageAsSingleFile=True;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
</Target>
为什么这不起作用?我找到的每个文档都说应该。
【问题讨论】:
-
我认为“SkipExtraFilesOnServer”仅在直接从 MSBuild (DeployTarget=MSDeployPublish) 部署时使用。该设置不包含在部署包中。
-
@StevenLiekens 不适用(尽管它的名称不适合包装案例)。我认为他遇到了其他问题,我已经在下面回答了。
-
@SayedIbrahimHashimi 你不是创建网络部署的人之一吗?
-
@spankmaster79 您是使用生成的部署脚本,还是直接从 CruiseControl 中的
exec任务执行 msdeploy.exe? -
@StevenLiekens 我拥有基于 MSDeploy 以及其他技术的 Visual Studio 中的 Web 发布体验,但我不直接使用 MSDeploy。
标签: asp.net msbuild package msdeploy