MSDeploy タスクを介して preSync/postSync コマンドを指定することは可能ですか? そうでない場合、どうすればこれを達成できますか?
質問する
557 次
1 に答える
1
どのようなMSDeployタスクを使用していますか?msdeploy.exeのExecを介している場合はもちろん、直接サポートしていないラッパーの場合は、同期前/同期後だけなので、run-commandプロバイダーでsyncを再度呼び出すことでそれらをエミュレートできます。とにかく、try / catch/finally構造体ラッピングメイン同期内で同期するための別の呼び出し。
private int ExecuteWorker()
{
...
if (!this.HandleAuxillarySync("-preSync", this._commandLine._preSyncParameters, retbaseOptions2))
return -1;
DeploymentChangeSummary deploymentChangeSummary;
try
{
deploymentChangeSummary = @object.SyncTo(retproviderOptions2, retbaseOptions2, syncOptions);
}
...
finally
{
this.HandleAuxillarySync("-postSync", this._commandLine._postSyncParameters, retbaseOptions2);
}
this.HandleAuxillarySync("-postSyncOnSuccess", this._commandLine._postSyncOnSuccessParameters, retbaseOptions2);
...
private bool HandleAuxillarySync(string syncType, Dictionary<string, string> sourceParameters, DeploymentBaseOptions destBaseOptions)
{
...
try
{
using (DeploymentObject @object = DeploymentManager.CreateObject(retproviderOptions, retbaseOptions))
@object.SyncTo(destBaseOptions, syncOptions);
flag = true;
}
于 2012-06-05T22:36:03.147 に答える