Msbuild MSDeploy任务和预同步

Msbuild MSDeploy任务和预同步,msbuild,msdeploy,web-deployment,msbuild-task,Msbuild,Msdeploy,Web Deployment,Msbuild Task,是否可以通过MSDeploy任务指定预同步/后同步命令?如果没有,我如何完成此任务?您使用的是哪种MSDeploy任务?如果它是通过msdeploy.exe的Exec执行的,那么是的,当然,如果它是某种不直接支持它们的包装器,那么您可以通过使用run命令提供程序再次调用sync来模拟它们,因为pre/post sync只是try/catch/finally结构包装主同步中的另一个同步调用 private int ExecuteWorker() { ... if(!this.HandleAuxil

是否可以通过MSDeploy任务指定预同步/后同步命令?如果没有,我如何完成此任务?

您使用的是哪种MSDeploy任务?如果它是通过msdeploy.exe的Exec执行的,那么是的,当然,如果它是某种不直接支持它们的包装器,那么您可以通过使用run命令提供程序再次调用sync来模拟它们,因为pre/post sync只是try/catch/finally结构包装主同步中的另一个同步调用

private int ExecuteWorker()
{
...
if(!this.HandleAuxillarySync(“-preSync”,this.\u命令行.\u preSyncParameters,retbaseOptions2))
返回-1;
DeploymentChangeSummary DeploymentChangeSummary;
尝试
{
deploymentChangeSummary=@object.SyncTo(retproviderOptions2、retbaseOptions2、syncOptions);
}
...
最后
{
this.HandleAuxillarySync(“-postSync”,this.\u命令行.\u postsynchParameters,retbaseOptions2);
}
this.HandleAuxillarySync(“-postSyncOnSuccess”,this.\u命令行.\u postSyncOnSuccessParameters,RetBaseOptions 2);
...
私有bool HandleAuxillarySync(字符串同步类型、字典源参数、DeploymentBaseOptions destBaseOptions)
{
...
尝试
{
使用(DeploymentObject@object=DeploymentManager.CreateObject(retproviderOptions,retbaseOptions))
@object.SyncTo(destBaseOptions,syncOptions);
flag=true;
}

我正在使用Microsoft.Web.Publishing.targets中的MSBuild任务MSDeploy。在这种情况下,不,只需有条件地在主同步之前和之后调用单独的同步,就像exe本身一样。