9

リモート Web サーバーに、リモート サービスhttp://xxxx/MsDeployAgentServiceをインストールしました。

VS2010 で Web アプリケーション プロジェクトの Publish コマンドを使用すると、このリモート Web サーバーに正常に発行し、特定の IIS Web サイトを更新できます。

ここでやりたいことは、この機能をコマンド ラインから実行することです。

2段だと思います。最初に、関連するビルド構成を使用して Web アプリケーション プロジェクトをビルドします。

msbuild "C:\MyApplication\MyWebApplication.csproj" 
        /T:Package /P:Configuration=Release

次に、MsDeploy コマンドを発行して、削除した IIS サーバーと公開/同期します。

msdeploy -verb:sync  
         -source:package="C:\MyApplication\obj\Release\Package\MyWebApplication.zip" 
         -dest:contentPath="My Production Website",
          computerName=http://x.x.x.x/MsDeployAgentService,
          username=adminuser,password=adminpassword

残念ながら、次のエラーが表示されます。

エラー: (10/05/2010 3:52:02 PM) リモート コンピューターで要求が処理されたときにエラーが発生しました。

エラー: ソース (sitemanifest) と宛先 (contentPath) は、指定された操作に対して互換性がありません。エラー数: 1。

宛先プロバイダーのさまざまな組み合わせを試しましたが、喜びはありません:(

コマンドラインからVS2010 Webアプリケーションプロジェクトの「ワンクリック」パブリッシュを複製できた人はいますか?

4

2 に答える 2

1

代わりに、/obj/release/package フォルダーにある [プロジェクト名].deploy.cmd ファイルを実行します。

まず、Visual Studio でプロジェクトのプロパティ ページに移動し、[Web のパッケージ化/発行] 設定に移動して、[リリース] 構成を選択し、[IIS Web サイト/アプリケーション名] 設定でコンテンツ パスを定義します。

ここで、既に使用しているのとまったく同じ MSBuild スクリプトを実行すると、/obj/release/package/[プロジェクト名].SetParameters.xml ファイルで定義されたコンテンツ パスを使用してパッケージが作成されます。

最後の手順は、/obj/release/package フォルダーで [プロジェクト名].deploy.cmd /Y /M:http://xxxx/MsDeployAgentService を実行するだけです。

これにより、適切なすべてのパラメーターを使用して MSDeploy が呼び出されます。

于 2010-10-28T01:33:03.533 に答える
0

この記事に従って、IIS サーバーで Web 配置ハンドラーを適切に構成します。

http://learn.iis.net/page.aspx/516/configure-the-web-deployment-handler/

于 2010-07-22T15:16:53.530 に答える