1

Web 配置 API (Microsoft.Web.Deployment) を使用して Web サイトを配置しようとしています。

msdelpoy.exe を使用すると、好きなだけ -postSync:runco​​mmand (または preSync) を実行できますが、API 経由でそれを行う方法がわかりません。

これは私の PowerShell での展開スクリプトですが、.net クラスが使用されていることがわかります。

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Deployment")
function CallMSDeploy([string]$destinationServer, [string]$destinationIISSiteName, $sourceDirectory)
{
    $destBaseOptions   = new-object Microsoft.Web.Deployment.DeploymentBaseOptions
    $destBaseOptions.UserName = $deployUserName
    $destBaseOptions.Password = $deployPassword
    $destBaseOptions.ComputerName = $destinationServer

    $syncOptions       = new-object Microsoft.Web.Deployment.DeploymentSyncOptions

    $deploymentObject = [Microsoft.Web.Deployment.DeploymentManager]::CreateObject("contentPath", $sourceDirectory)
    $deploymentObject.SyncTo("contentPath",$destinationIISSiteName,$destBaseOptions,$syncOptions);
}

"runCommand" プロバイダーを使用して Microsoft.Web.Deployment.DeploymentObjectProvider を新規作成し、パスを指定できることはわかっていますが、上記のデプロイの preSync にどのように追加すればよいですか?

前もって感謝します!

4

1 に答える 1

1

preSync/は、 API 自体postSyncではなく、msdeploy コマンド ラインの機能です。Microsoft.Web.Deploymentどちらも基本的には への呼び出しCreateObject().SyncTo(destOptions)でありdestOptions、メインの同期からコピーされます。

PSでの再現に問題はありません。

于 2012-10-08T11:28:49.913 に答える