0

WebDeployV3でパッケージを展開しようとしています。インストールプロセスでは、ソースフォルダーをリモートコンピューター上の宛先フォルダーに同期し、同期が完了した後に特定のPowerShellスクリプトを実行します。実行されるコマンドは次のとおりです。

'"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:dirPath='C:\source' -dest:dirPath='D:\destination',computerName=XXX -postSync:runcommand='powershell -inputformat none D:\destination\Install.ps1',successReturnCodes=0'

これにより、次のエラーが発生します。

Info: Using ID '49edd786-d8a0-4acf-be7b-95dd6e1391cc' for connections to the remote server.  Performing '-postSync'... Info: 
Using ID '5ef9d005-82fa-4811-9f51-1741c8d622de' for connections to the remote server. 
Info: Adding MSDeploy.runCommand (MSDeploy.runCommand). 
Error: (11/28/2012 4:34:24 AM) An error occurred when the request was processed on the remote computer. Error: The entry type 'Unknown' was not expected at this time. The serialization stream may be corrupted.
Error count: 1.
Error during '-postSync'.  Total changes: 0 (0 added, 0 deleted, 0 updated, 0 parameters changed, 0 bytes copied)

ネットでこのエラーを検索したところ、runco​​mmandプロバイダーを使用しているときにこのエラーに遭遇した人は誰もいませんでした。誰かが同様の問題に遭遇し、アイデアや提案があれば、私は最も感謝します。

4

2 に答える 2

1

私が見たところrunCommand、任意のコマンドラインを実行するために使用するのは少しバグがあるかもしれません。コマンドラインをbatまたはcmdファイルに移動し、そこへの(フル?)パスを指定してみてください。ファイルに引数を渡そうとしない限り、ファイルはアップロードされて実行されます。

于 2012-11-29T09:05:33.860 に答える
0

この投稿の将来の閲覧者向け:Error: The entry type 'Unknown' was not expected at this time. The serialization stream may be corruptedWebパブリッシングパイプラインMSBuildプロセスのMyProject.wpp.targetsファイルにrunCommandプロバイダーの使用法を追加した後、これと同じ特定のエラー()が発生しました。パスは、。を使用して読み取り専用フラグをクリアするために使用される直接のcmdシェル入力でしたattrib -R

私の場合、ビルドサーバーはWebDeploy 3.0で構成されていましたが、展開パッケージの対象となるサーバーはWebdeploy2.0で構成されていました。ターゲットサーバーをWebdeploy3.0にアップグレードした後、この特定の問題は解決されました。

ただし、runCommandを取り巻く他のエラー(パッケージの実行時に宛先実行可能ファイルへの正しいパスを提供する)のために、私のソリューションはまだ完全には機能しないので、これをすべて一粒の塩で取ってください。

于 2015-04-01T05:18:46.473 に答える