none
Visual StudioのWeb発行がどうしても上手くいきません

    質問

  • Hyper-V環境のVPSにWeb発行をしたいと思っております。

    下記がVisual Studio 2013 for web のWeb発行の設定です。

    サーバー:https://Server名:8172/msdeploy.axd

    サイト名:Defalt Web Site/App

    ユーザー名:VPSログイン時の管理者ID

    パスワード:VPSログイン時の管理者パスワード

    結果

    エラー 1 Web Deploy タスクに失敗しました。( リモート コンピューター ("Server名") に接続できませんでした。リモート コンピューター名が正しく、このコンピューターに接続できることを確認してください。  詳細情報の参照先: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_INVALID)

    やってみたこと

    ・ポート8172番の送受信を許可

    ・発行先であるC:\inetpub\wwwrootフォルダを共有(管理者IDでフルコントロール付与)

    2016年4月29日 4:45

回答

  • ご質問のエラーメッセージを見る限りは、サーバー名を誤っているとか、サーバーに到達できない何らかの問題がネットワークにあるといった可能性を疑ってみたいところですが(これらは既に確認されているのですよね)。

    それ以外の可能性としては、Web配置ツール(Web Deploy)を使用してVisual StudioのWeb発行を行う方法には2通りあり、設定方法が微妙に異なります。どちらの方法を使おうとしているか、しっかり意識していないと間違えやすいです。
    当方のLAN環境で、手元のWindows Server 2012 R2 Standard、Web Deploy v3.6、Visual Studio 2015 Professionalを使って試したところ、問題なく発行できました。お使いのVPSでうまくいくかどうかわかりませんが、試した手順を記します。


    【IIS配置ハンドラーを使う方法】

    1. サーバーにIISの「管理サービス」役割をインストールする。
    2. サーバーにWeb配置ツールのカスタムセットアップで「IIS配置ハンドラー」をインストールする。
    3. サーバーでWeb Management Service(WMSVC)サービスが実行中になっていることを確認する。
    4. サーバーのWindowsファイアウォールの受信の規則で「Web管理サービス(HTTPトラフィック)」が有効になっていることを確認する。
    5. Visual StudioのWeb発行で、サーバーに「https://(サーバー名):8172/msdeploy.axd」「https://(サーバー名)」または単に「(サーバー名)」を指定して発行する。


    【リモートエージェントサービスを使う方法】

    1. サーバーにWeb配置ツールのカスタムセットアップで「リモートエージェントサービス」をインストールする。
    2. サーバーのWeb Deployment Agent Service(MsDepSvc)サービスが実行中になっていることを確認する。
    3. Visual StudioのWeb発行で、サーバーに「http://(サーバー名)/msdeployagentservice」または「http://(サーバー名)」を指定して発行する。


    (参考)
    方法: Visual Studio でワンクリック発行を使用して Web アプリケーション プロジェクトを配置する
    https://msdn.microsoft.com/ja-jp/library/dd465337.aspx

    リモートでの Web 配置の使用
    https://technet.microsoft.com/ja-jp/library/ee461175(v=ws.10).aspx

    Visual Studio 2010 [発行]機能で配置可能とするためのサーバー設定
    https://blogs.msdn.microsoft.com/osamum/2011/03/10/visual-studio-2010/


    ご参考になれば幸いです。


    2016年5月6日 16:19

すべての返信

  • 「Visual Studio 2013 for web を使って直接 Hyper-V 環境の VPS に Web 発行」ということが目的なのでしょうか?

    それともそれは単なる手段で、開発環境の ASP.NET Web アプリを運用環境にデプロイすることが目的(手段は問わない)なのでしょうか?

    前者だと自分はお手上げなのですが、後者なら別の手段がいろいろありそうなのですが。

    2016年5月2日 3:50
  • ご質問のエラーメッセージを見る限りは、サーバー名を誤っているとか、サーバーに到達できない何らかの問題がネットワークにあるといった可能性を疑ってみたいところですが(これらは既に確認されているのですよね)。

    それ以外の可能性としては、Web配置ツール(Web Deploy)を使用してVisual StudioのWeb発行を行う方法には2通りあり、設定方法が微妙に異なります。どちらの方法を使おうとしているか、しっかり意識していないと間違えやすいです。
    当方のLAN環境で、手元のWindows Server 2012 R2 Standard、Web Deploy v3.6、Visual Studio 2015 Professionalを使って試したところ、問題なく発行できました。お使いのVPSでうまくいくかどうかわかりませんが、試した手順を記します。


    【IIS配置ハンドラーを使う方法】

    1. サーバーにIISの「管理サービス」役割をインストールする。
    2. サーバーにWeb配置ツールのカスタムセットアップで「IIS配置ハンドラー」をインストールする。
    3. サーバーでWeb Management Service(WMSVC)サービスが実行中になっていることを確認する。
    4. サーバーのWindowsファイアウォールの受信の規則で「Web管理サービス(HTTPトラフィック)」が有効になっていることを確認する。
    5. Visual StudioのWeb発行で、サーバーに「https://(サーバー名):8172/msdeploy.axd」「https://(サーバー名)」または単に「(サーバー名)」を指定して発行する。


    【リモートエージェントサービスを使う方法】

    1. サーバーにWeb配置ツールのカスタムセットアップで「リモートエージェントサービス」をインストールする。
    2. サーバーのWeb Deployment Agent Service(MsDepSvc)サービスが実行中になっていることを確認する。
    3. Visual StudioのWeb発行で、サーバーに「http://(サーバー名)/msdeployagentservice」または「http://(サーバー名)」を指定して発行する。


    (参考)
    方法: Visual Studio でワンクリック発行を使用して Web アプリケーション プロジェクトを配置する
    https://msdn.microsoft.com/ja-jp/library/dd465337.aspx

    リモートでの Web 配置の使用
    https://technet.microsoft.com/ja-jp/library/ee461175(v=ws.10).aspx

    Visual Studio 2010 [発行]機能で配置可能とするためのサーバー設定
    https://blogs.msdn.microsoft.com/osamum/2011/03/10/visual-studio-2010/


    ご参考になれば幸いです。


    2016年5月6日 16:19