次の方法で共有


Visual Studio から Azure VM を使用して IIS 上のコア ASP.NET リモート デバッグする

このガイドでは、Visual Studio ASP.NET Core アプリを設定して構成し、Azure VM を使用して IIS にデプロイし、Visual Studio からリモート デバッガーをアタッチする方法について説明します。

IIS シナリオでは、Linux はサポートされていません。

Azure VM で IIS をデバッグするには、この記事の手順に従います。 この方法を使用すると、IIS のカスタマイズされた構成を使用できますが、セットアップと展開の手順はより複雑になります。 シナリオに合わせて IIS をカスタマイズする必要がない場合は、 代わりに Azure App Service でアプリをホストおよびデバッグするためのより簡単な方法を選択できます。

Azure VM の場合は、Visual Studio から Azure にアプリをデプロイする必要があります。また、次の図に示すように、IIS ロールとリモート デバッガーを手動でインストールする必要があります。

Visual Studio、Azure VM、および ASP.NET アプリの関係を示す図。IIS とリモート デバッガーは実線で表されます。

Warnung

このチュートリアルの手順を完了したら、作成する Azure リソースを必ず削除してください。 そうすることで、不要な料金が発生しないようにすることができます。

これらの手順は、次のサーバー構成でテストされています。

  • Windows Server 2022 と IIS 10
  • Windows Server 2019 と IIS 10
  • Windows Server 2016 と IIS 10

[前提条件]

この記事に示されている手順に従うには、Visual Studio 2019 以降のバージョンが必要です。

ネットワークの要件

プロキシ経由で接続されている 2 台のコンピューター間のデバッグはサポートされていません。 ダイヤルアップ インターネットなどの待機時間の長い接続または低帯域幅の接続、または国/地域間のインターネット経由でのデバッグは推奨されず、失敗したり、許容できないほど遅くなったりする可能性があります。 要件の完全な一覧については、「要件」を参照してください。

Azure VM 上の IIS で既に実行されているアプリ

この記事では、Windows サーバーで IIS の基本的な構成を設定し、Visual Studio からアプリを展開する手順について説明します。 これらの手順は、サーバーに必要なコンポーネントがインストールされていること、アプリが正しく実行できること、リモート デバッグの準備ができていることを確認するために含まれています。

  • アプリが IIS で実行されていて、リモート デバッガーをダウンロードしてデバッグを開始するだけの場合は、「 Windows Server にリモート ツールをダウンロードしてインストールする」に移動します。

  • アプリが IIS で正しく設定、展開、実行されていることを確認してデバッグできるようにする場合は、この記事のすべての手順に従ってください。

    • 開始する前に、「 Windows 仮想マシンの作成」で説明されているすべての手順に従います。この手順には、IIS Web サーバーをインストールする手順が含まれています。

    • Azure ネットワーク セキュリティ グループでポート 80 を開いていることを確認します。 ポート 80 が開かれていることを確認したら、リモート デバッガーの 正しいポート (4026、4024、または 4022) も開きます。 そうすれば、後で開く必要はありません。 Web Deploy を使用している場合は、ポート 8172 も開きます。

Visual Studio コンピューターで ASP.NET Core アプリケーションを作成する

  1. 新しい ASP.NET Core Web アプリケーションを作成します。

    Visual Studio で、[ ファイル>スタート] ウィンドウ を選択して [スタート] ウィンドウを開き、[ 新しいプロジェクトの作成] を選択します。 検索ボックスに「 Web アプリ」と入力し、言語として [C# ] を選択し、[ コア Web アプリケーション ASP.NET (モデル-View-Controller) を選択してから、[ 次へ] を選択します。 次の画面で、プロジェクトに MyASPApp という名前を付け、[ 次へ] を選択します。

    推奨されるターゲット フレームワークまたは .NET 8 を選択し、次に 作成を選択します。 バージョンは、サーバーにインストールされているバージョンと一致している必要があります。

  2. Controllers フォルダー内のHomeController.cs ファイルを開き、return View; メソッドの Privacy ステートメントにブレークポイントを設定します。

    以前のテンプレートでは、 Privacy.cshtml.cs ファイルを開き、 OnGet メソッドにブレークポイントを設定します。

Windows Server でブラウザーのセキュリティ設定を更新する

古いバージョンの Windows Server を使用している場合は、一部のドメインを信頼済みサイトとして追加して、一部の Web サーバー コンポーネントをダウンロードできるようにする必要がある場合があります。 [ インターネット オプション] > [セキュリティ] > [信頼済みサイト] > サイトに移動して、信頼済みサイトを追加します。 次のドメインを追加します。

  • microsoft.com
  • go.microsoft.com
  • download.microsoft.com
  • iis.net

ソフトウェアをダウンロードすると、さまざまな Web サイト スクリプトとリソースを読み込むアクセス許可を付与する要求を受け取ることがあります。 これらのリソースの一部は必須ではありませんが、プロセスを簡略化するために、メッセージが表示されたら [追加] を選択します。

Windows Server に ASP.NET Core をインストールする

  1. ホスト システムに .NET Core ホスティング バンドルをインストールします。 このバンドルは、.NET Core ランタイム、.NET Core ライブラリ、および ASP.NET Core モジュールをインストールします。 詳細な手順については、「 IIS への発行」を参照してください。

    現在の .NET Core ホスティング バンドルの場合は、 ASP.NET Core ホスティング バンドルをインストールします

    以前に IIS をインストールした場合は、ASP.NET Core IIS モジュールが ASP.NET Core と共にインストールされます。 それ以外の場合は、ASP.NET Core IIS モジュールを手動でインストールします。

    .NET Core 2 の場合は、 .NET Core Windows Server ホスティングをインストールします。

    システムにインターネット接続がない場合は、.NET Core Windows Server ホスティング バンドルをインストールする前に、 Microsoft Visual C++ 2015 再頒布可能パッケージ を入手してインストールします。

  2. システムを再起動します(または、コマンドプロンプトから net stop was /y を実行した後、net start w3svc を実行して、システム PATH の変更を反映させます)。

配置オプションを選択する

IIS へのアプリの展開に関するヘルプが必要な場合は、次のオプションを検討してください。

  • IIS で発行設定ファイルを作成し、Visual Studio で設定をインポートしてデプロイします。 一部のシナリオでは、このアプローチはアプリを迅速にデプロイする方法です。 発行設定ファイルを作成すると、IIS でアクセス許可が自動的に設定されます。

  • ローカル フォルダーに発行し、推奨される方法で出力を IIS 上の準備済みアプリ フォルダーにコピーして展開します。

(省略可能)発行設定ファイルを使用してデプロイする

このオプションを使用すると、発行設定ファイルを作成し、Visual Studio にインポートできます。

この展開方法では、サーバーにインストールする必要がある Web 配置を使用します。 設定をインポートする代わりに Web 配置を手動で構成する場合は、ホスティング サーバー用の Web 配置 3.6 ではなく Web 配置 3.6 をインストールできます。 ただし、Web 配置を手動で構成する場合は、サーバー上のアプリ フォルダーが正しい値とアクセス許可で構成されていることを確認する必要があります (「 ASP.NET Web サイトを構成する」を参照してください)。

ASP.NET Core Web サイトを構成する

  1. IIS マネージャーの左側のウィンドウの [ 接続] で、[ アプリケーション プール] を選択します。 DefaultAppPool を開き、.NET CLR のバージョンマネージド コードなしに設定します。 これは、ASP.NET Core に必要です。 既定の Web サイトでは DefaultAppPool が使用されます。

  2. DefaultAppPool を停止して再起動します。

Windows Server に Web Deploy をインストールおよび構成する

Web 配置には、UI から発行設定ファイルを作成できる追加の構成機能が用意されています。

Web プラットフォーム インストーラーは、7/1/22 に終了しました。 詳細については、「Web プラットフォーム インストーラー - サポートの終了と製品/アプリケーション フィードの段階的な廃止」をご覧ください。 Web Deploy 4.0 を直接インストールして、発行設定ファイルを作成できます。

  1. IIS 管理スクリプトとツールまだインストールしていない場合は、ここでインストールします。

    Web Server (IIS)管理ツールサーバーロールの選択] に移動し、IIS 管理スクリプトとツールの ロールを選択し、[次 ] をクリックして、ロールをインストールします。

    IIS 管理スクリプトとツール をインストールする

    発行設定ファイルの生成を有効にするには、スクリプトとツールが必要です。

    管理サービス と IIS 管理コンソール もインストールしてください (既にインストールされている可能性があります)。

  2. Windows Server で Web Deploy 4.0をダウンロード。

  3. Web Deploy インストール プログラムを実行し、一般的なインストールではなく、完全な インストールを選択していることを確認します。

    完全なインストールでは、発行設定ファイルを生成するために必要なコンポーネントを取得します。 (代わりに [カスタム 選択した場合は、次の図に示すように、コンポーネントの一覧を表示できます)。

    Web Deploy 4.0 コンポーネント を示すスクリーンショット

  4. (省略可能) Web 配置が正しく実行されていることを確認するために、[コントロール パネル] [システムとセキュリティ] > [管理ツール] > [サービス] >を開き、次のことを確認します。

    • Web Deployment Agent Service が実行されています (サービス名は古いバージョンでは異なります)。

    • Web Management Service が実行されています。

    エージェント サービスのいずれかが実行されていない場合は、Web Deployment Agent Serviceを再起動します。

    Web 展開エージェント サービスがまったく存在しない場合は、[コントロール パネル] > [プログラム] > プログラムのアンインストールに移動し、Microsoft Web Deploy <バージョン >を見つけます。 インストールの [変更] を選び、Web 配置コンポーネントに [ローカル ハード ドライブにインストール] を選択していることを確認します。 変更のインストール手順を完了します。

Windows Server 上の IIS で発行設定ファイルを作成する

  1. IIS 管理コンソールを閉じて再度開くと、UI に更新された構成オプションが表示されます。

  2. IIS で [既定の Web サイト] を右クリックして、[配置]>[Web 配置の発行の構成] を選びます。

    Web 配置構成 を構成する

    [Deploy] メニューが表示されない場合は、前のセクションを参照して、Web 配置が実行されていることを確認してください。

  3. [Web 配置の発行の構成] ダイアログ ボックスで、設定を確認します。

  4. [設定] をクリックします。

    [結果] パネルの出力で、アクセス権が特定のユーザーに付与されていることと、ファイル拡張子 .publishsettings が付いたファイルがダイアログ ボックスで示されている場所に作成されていることが示されます。

    <?xml version="1.0" encoding="utf-8"?>
    <publishData>
      <publishProfile
        publishUrl="https://myhostname:8172/msdeploy.axd"
        msdeploySite="Default Web Site"
        destinationAppUrl="http://myhostname:80/"
        profileName="Default Settings"
        publishMethod="MSDeploy"
        userName="myhostname\myusername" />
    </publishData>
    

    Windows Server と IIS の構成に応じて、XML ファイルに異なる値が表示されます。 表示される値の詳細を次に示します。

    • 属性で参照される publishUrl ファイルは、Web 配置用に動的に生成された HTTP ハンドラー ファイルです。 (テスト目的では、http://myhostname:8172 は一般的に同様に機能します)。

    • publishUrl ポートはポート 8172 に設定されます。これは Web 配置の既定値です。

    • destinationAppUrl ポートは、IIS の既定値であるポート 80 に設定されます。

    • 後の手順で、ホスト名を使用して Visual Studio からリモート ホストに接続できない場合は、ホスト名の代わりにサーバーの IP アドレスをテストします。

      Azure VM で実行されている IIS に発行する場合は、ネットワーク セキュリティ グループで Web デプロイと IIS の受信ポートを開く必要があります。 詳細については、「仮想マシンへのポートを開く」を参照してください。

  5. このファイルを Visual Studio を実行しているコンピューターにコピーします。

Visual Studio で発行設定をインポートしてデプロイする

  1. Visual Studio で ASP.NET プロジェクトを開いているコンピューターで、ソリューション エクスプローラーでプロジェクトを右クリックし、発行を選択します。

    以前に発行プロファイルを構成している場合、発行 ペインが表示されます。 「新規」をクリックするか、または「新しいプロファイルの作成」を選択します。

  2. プロファイルをインポートするオプションを選択します。

    [発行] ダイアログ ボックスで [プロファイルのインポート] をクリックします。

    公開の選択

  3. 前のセクションで作成した発行設定ファイルの場所に移動します。

  4. [発行設定ファイルのインポート] ダイアログで、前のセクションで作成したプロファイルに移動して選択し、[開く] をクリックします。

    [完了] をクリックして発行プロファイルを保存し、[発行] をクリックします。

    Visual Studio によってデプロイ プロセスが開始され、[出力] ウィンドウに進行状況と結果が表示されます。

    展開エラーが発生した場合は、[その他 アクション]>[編集] をクリックして設定を編集します。 設定を変更し、[検証] をクリックして新しい設定をテストします。 ホスト名が見つからない場合は、Server フィールドと Destination URL フィールドの両方でホスト名の代わりに IP アドレスを試してください。

    発行ツール で設定を編集

Azure VM を再起動すると、IP アドレスが変更される可能性があります。

アプリが正常にデプロイされると、自動的に開始されます。

  • デプロイ後にアプリが起動しない場合は、IIS でアプリを起動して、正しく実行されていることを確認します。
  • ASP.NET Core の場合は、 DefaultAppPool の [アプリケーション プール] フィールドが [ マネージド コードなし] に設定されていることを確認します。

準備ができたら、デバッグ構成に切り替えます。

Von Bedeutung

リリース構成をデバッグする場合は、発行時に web.config ファイルのデバッグを無効にします。

  1. [ その他のオプション]>編集 を選択してプロファイルを編集し、[ 設定]を選択します。
  2. [ 保存] を 選択し、アプリを再発行します。
  3. [デバッグ構成] を選択し、[ファイルの発行] オプションの下にある [コピー先で追加のファイルを削除する] を選択します。
  1. [ 編集] を 選択してプロファイルを編集し、[ 設定] を選択します。
  2. [ 保存] を 選択し、アプリを再発行します。
  3. [デバッグ構成] を選択し、[ファイルの発行] オプションの下にある [コピー先で追加のファイルを削除する] を選択します。

Warnung

ユーザー名とパスワードの資格情報 (基本認証) を使用することは、最も安全な認証方法ではありません。 可能な限り、別の方法を使用してください。 たとえば、Visual Studio からパッケージに発行し、コマンド ラインから WebDeploy.exe を使用してパッケージをデプロイすることを検討します。 この方法では、IIS マネージャーを使用して、Web サーバーに発行できる承認済みの Windows ユーザーを構成し、その Windows ユーザー アカウントで WebDeploy.exe を実行できます。 「IIS 8.0 以降での Web 配置のインストールと構成」を参照してください。 パスワード資格情報を使用する場合は、必ず強力なパスワードを使用し、パスワードが漏洩または共有されないように保護してください。

(省略可能)ローカル フォルダーに発行してデプロイする

PowerShell、RoboCopy を使用してアプリを IIS にコピーする場合、またはファイルを手動でコピーする場合は、このオプションを使用してアプリをデプロイできます。

Windows Server コンピューターで ASP.NET Core Web サイトを構成する

発行設定をインポートする場合は、このセクションをスキップできます。

  1. インターネット インフォメーション サービス (IIS) マネージャーを開き、[サイト] に移動します

  2. [既定の Web サイト] ノードを右クリックし、[アプリケーションの追加] を選択します。

  3. [エイリアス] フィールドを MyASPApp に設定し、[アプリケーション プール] フィールドを [マネージド コードなし] に設定します。 物理パスC:\Publish (後で ASP.NET Core プロジェクトをデプロイする) に設定します。

  4. IIS マネージャーでサイトを選択し、[ アクセス許可の編集] を選択し、アプリケーション プール用に構成された IUSR、IIS_IUSRS、またはユーザーが、読み取りおよび実行権限を持つ承認されたユーザーであることを確認します。

    アクセス権を持つこれらのユーザーのいずれかが表示されない場合は、読み取りおよび実行権限を持つユーザーとして IUSR を追加する手順を実行します。

Von Bedeutung

組み込みアカウントに関連するセキュリティ情報については、「 IIS 7 のユーザー アカウントとグループ アカウント Built-In について」を参照してください。

(省略可能)Visual Studio からローカル フォルダーに発行してアプリを発行および展開する

Web 配置を使用していない場合は、ファイル システムまたはその他のツールを使用してアプリを発行してデプロイする必要があります。 まず、ファイル システムを使用してパッケージを作成してから、パッケージを手動でデプロイするか、PowerShell、Robocopy、XCopy などの他のツールを使用します。 このセクションでは、Web 配置を使用していない場合は、パッケージを手動でコピーすることを前提としています。

  1. ソリューション エクスプローラーでプロジェクト ノードを右クリックし、[発行] を選択します (Web フォームの場合は [Web アプリの発行])。

    以前に発行プロファイルを構成している場合、発行 ペインが表示されます。 [ 新しいプロファイル] をクリックします。

  2. [ 発行 ] ダイアログ ボックスで、[ フォルダー] を選択し、[ 参照] をクリックし、新しいフォルダー C:\Publish を作成します。

    Visual Studio の [発行先の選択] ダイアログのスクリーンショット。フォルダー 'C:\Publish' が発行先として選択されています。

    [ 完了] をクリックして発行プロファイルを保存します。

    Visual Studio の [発行先の選択] ダイアログのスクリーンショット。フォルダー 'C:\Publish' が発行先として選択されています。

    [ 完了] をクリックして発行プロファイルを保存します。

  3. デバッグ構成に切り替えます。

    [ 編集] を 選択してプロファイルを編集し、[ 設定] を選択します。 [デバッグ] 構成を選択し、[ファイルの発行] オプションの下にある [コピー先で追加のファイルを削除する] を選択します。

    [発行] ダイアログ ボックスの [設定] タブのスクリーンショット。構成が [デバッグ] に設定され、[発行] ボタンが選択されています。

    リリース ビルドを使用する場合は、発行時に web.config ファイルのデバッグを無効にします。

  4. [公開] をクリックします。

    アプリケーションは、プロジェクトの デバッグ 構成をローカル フォルダーに発行します。 [出力] ウィンドウに進行状況が表示されます。

  5. ASP.NET プロジェクト ディレクトリを Visual Studio コンピューターから、Windows Server コンピューター上の ASP.NET アプリ用に構成されたローカル ディレクトリ (この例では C:\Publish) にコピーします。 このチュートリアルでは、手動でコピーすることを前提としていますが、PowerShell、Xcopy、Robocopy などの他のツールを使用できます。

    注意事項

    コードまたはリビルドを変更する必要がある場合は、再発行してこの手順を繰り返す必要があります。 リモート コンピューターにコピーした実行可能ファイルは、ローカル ソースとシンボルと完全に一致している必要があります。 これを行わない場合、プロセスをデバッグしようとすると、Visual Studio で cannot find or open the PDB file 警告が表示されます。

  6. Windows Server で、ブラウザーでアプリを開くことで、アプリを正しく実行できることを確認します。

    アプリが正しく実行されない場合は、サーバーにインストールされている ASP.NET のバージョンと Visual Studio コンピューターのバージョンが一致しないか、IIS または Web サイトの構成に問題がある可能性があります。 前の手順を再確認します。

Windows Server にリモート ツールをダウンロードしてインストールする

Visual Studio のバージョンに一致するリモート ツールのバージョンをダウンロードします。

Visual Studio コンピューターではなく、デバッグ対象のリモート デバイスまたはサーバーで、次の表のリンクから正しいバージョンのリモート ツールをダウンロードしてインストールします。

  • Visual Studio のバージョンのリモート ツールの最新の更新プログラムをダウンロードします。 以前のバージョンのリモート ツールは、以降の Visual Studio バージョンと互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
  • リモート ツールをインストールするコンピューターと同じアーキテクチャでダウンロードします。 たとえば、x64 オペレーティング システムを実行しているリモート コンピューターで x86 アプリケーションをデバッグする場合は、x64 リモート ツールをインストールします。 ARM64 オペレーティング システムで x86、ARM、または x64 アプリケーションをデバッグするには、ARM64 リモート ツールをインストールします。
バージョン リンク 注記
Visual Studio 2022 リモート ツール すべての Visual Studio 2022 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server では、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。
Visual Studio 2019 リモート ツール Visual Studio 2019 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、Visual Studio Dev Essentials プログラム 無料で参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server では、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。
Visual Studio 2017 リモート ツール Visual Studio 2017 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、Visual Studio Dev Essentials プログラム 無料で参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 Windows Server で、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。
Visual Studio 2015 リモート ツール Visual Studio 2015 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、Visual Studio Dev Essentials プログラム 無料で参加するか、Visual Studio サブスクリプション ID でサインインします。 Windows Server で、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。
Visual Studio 2013 リモート ツール Visual Studio 2013 ドキュメントのダウンロード ページ
Visual Studio 2012 リモート ツール Visual Studio 2012 ドキュメントのダウンロード ページ
バージョン リンク 注記
Visual Studio 2019 リモート ツール すべての Visual Studio 2019 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 Windows Server で、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。 最新バージョンのリモート ツールについては、Visual Studio 2022 ドキュメントを開きます。
Visual Studio 2017 リモート ツール すべての Visual Studio 2017 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 Windows Server で、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。
Visual Studio 2015 リモート ツール Visual Studio 2015 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、Visual Studio Dev Essentials プログラム 無料で参加するか、Visual Studio サブスクリプション ID でサインインします。 Windows Server で、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。
Visual Studio 2013 リモート ツール Visual Studio 2013 ドキュメントのダウンロード ページ
Visual Studio 2012 リモート ツール Visual Studio 2012 ドキュメントのダウンロード ページ

リモート デバッガーを実行するには、リモート ツールをインストールするのではなく、リモート コンピューターに msvsmon.exe をコピーします。 ただし、リモート デバッガー構成ウィザード (rdbgwiz.exe) は、リモート ツールをインストールする場合にのみ使用できます。 リモート デバッガーをサービスとして実行する場合は、構成にウィザードを使用することが必要になる場合があります。 詳細については、「(省略可能) リモート デバッガーをサービスとして構成する」を参照してください。

  • ARM デバイスで Windows 10 以降のアプリをデバッグするには、最新バージョンのリモート ツールで使用できる ARM64 を使用します。
  • Windows RT デバイスで Windows 10 アプリをデバッグするには、ARM を使用します。ARM は、Visual Studio 2015 リモート ツールのダウンロードでのみ使用できます。
  • ARM64 オペレーティング システムで x64 アプリをデバッグするには、ARM64 リモート ツールと共にインストールされている x64 msvsmon.exe を実行します。

Windows Server でリモート デバッガーを設定する

  1. リモート コンピューターで、の [スタート] メニューから リモート デバッガー を見つけて起動します。

    リモート コンピューターに対する管理アクセス許可がない場合は、リモート デバッガー アプリを右クリックし、[管理者 として実行]選択します。 それ以外の場合は、通常どおりに起動するだけです。

    管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行しているプロセスにアタッチする場合は、リモート デバッガー アプリを右クリックし、[管理者として実行] 選択。 詳細については、「リモート デバッガーを管理者として実行する」を参照してください。

  2. リモート デバッガーを初めて起動するとき (またはリモート デバッガーを構成する前)、リモート デバッグ構成 ウィザードが表示されます。

    ほとんどのシナリオでは、ウィザードの [Windows ファイアウォール の構成] ページに移動するまで、[次の ] を選択します。

    リモートデバッガー構成のスクリーンショット。

    リモートデバッガー構成のスクリーンショット。

    Windows Web サービス API がインストールされていない場合、これは Windows Server 2008 R2 でのみ発生するため、[インストール] ボタンを選択してください。

  3. リモート ツールを使用するネットワークの種類を少なくとも 1 つ選択します。 コンピューターがドメイン経由で接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホームグループ経由で接続されている場合は、必要に応じて 2 番目または 3 番目の項目を選択します。

    次に、[完了] を選択してリモート デバッガーを起動します。

    次に、リモート デバッグ の構成を選択してリモート デバッガーを起動します。

  4. 構成が完了すると、リモート デバッガーの ウィンドウが表示されます。

    リモート デバッガー ウィンドウ

    リモート デバッガー ウィンドウ

    これで、リモート デバッガーは接続を待機しています。 表示されているサーバー名とポート番号を使用して、Visual Studio でリモート接続の構成を設定します。

リモート デバッガーを停止するには、[ファイル] >選択します。 の [スタート] メニューまたはコマンド ラインから再起動できます。

<Remote debugger installation directory>\msvsmon.exe

追加のユーザーのアクセス許可を追加する必要がある場合は、リモート デバッガーの認証モードまたはポート番号を変更する リモート デバッガーを構成するを参照してください。

Visual Studio コンピューターから ASP.NET Core アプリケーションにアタッチする

Visual Studio 2022 バージョン 17.10 Preview 2 以降では、[プロセスにアタッチ] ダイアログ ボックスが変更されました。 以前のダイアログ ボックスに一致する手順が必要な場合は、Visual Studio 2019 ビュー (記事の左上のバージョン セレクター) に切り替えます。

  1. Visual Studio コンピューターで、デバッグしようとしているソリューションを開きます (この記事のすべての手順に従っている場合は MyASPApp )。

  2. Visual Studio で、[ デバッグ] > [プロセスにアタッチ] を選択します (Ctrl + Alt + P)。

    ヒント

    Visual Studio 2017 以降のバージョンでは、以前にアタッチしたのと同じプロセスに再アタッチするには、[ デバッグ] > [プロセスに再アタッチ]... (Shift + Alt + P) を使用します。

  3. [接続の種類] を [リモート] (Windows) に設定します。

    [ 接続ターゲット] オプションが表示されます。

    接続ターゲットを <に設定し>Enter キーを押します。

    Visual Studio がリモート コンピューター名に必要なポートを追加していることを確認してください。これは、次の形式で表示されます: <リモート コンピューター名>:ポート

    Visual Studio 2022 では、<リモート コンピューター名>:4026 が表示されます。

    ポートは必須です。 ポート番号が表示されない場合は、手動で追加します。

  1. Visual Studio コンピューターで、デバッグしようとしているソリューションを開きます (この記事のすべての手順に従っている場合は MyASPApp )。

  2. Visual Studio で、[ デバッグ] > [プロセスにアタッチ] を選択します (Ctrl + Alt + P)。

    ヒント

    Visual Studio 2017 以降のバージョンでは、以前にアタッチしたのと同じプロセスに再アタッチするには、[ デバッグ] > [プロセスに再アタッチ]... (Shift + Alt + P) を使用します。

  3. [修飾子] フィールドを < に設定し、>。

    Visual Studio がリモート コンピューター名に必要なポートを追加していることを確認してください。これは、次の形式で表示されます: <リモート コンピューター名>:ポート

    Visual Studio 2019 では、<リモート コンピューター名>:4024 が表示されます。

    ポートは必須です。 ポート番号が表示されない場合は、手動で追加します。

  1. [ 最新の情報に更新] を選択します。

    一部のプロセスが [ 使用可能なプロセス ] ウィンドウに表示されます。

    プロセスが表示されない場合は、リモート コンピューター名の代わりに IP アドレスを使用してみてください (ポートが必要です)。 コマンド ラインで ipconfig を使用して、IPv4 アドレスを取得できます。

    [検索] ボタンを使用する場合は、サーバーで送信 UDP ポート 3702 を開く必要がある場合があります。

  2. [すべてのユーザーからのプロセスを表示する] をオンにします。

  3. プロセス名の最初の文字を入力して、アプリをすばやく見つけます。

    • IIS でインプロセス ホスティング モデル を使用している場合は、適切な w3wp.exe プロセスを選択します。 .NET Core 3 以降では、このプロセスが既定です。

    • それ以外の場合は、 dotnet.exe プロセスを選択します。 (これはプロセス外のホスティング モデルです)。

    w3wp.exeまたはdotnet.exeが表示されている複数のプロセスがある場合は、ユーザー名列を確認してください。 一部のシナリオでは、IIS APPPOOL\DefaultAppPool などのアプリ プール名が [ユーザー名] 列に表示されます。 アプリ プールが表示されていても、一意ではない場合は、デバッグするアプリ インスタンス用の新しい名前付きアプリ プールを作成し、[ ユーザー名] 列で簡単に見つけることができます。

    [プロセスにアタッチ] ダイアログのスクリーンショット。

    [プロセスにアタッチ] ダイアログのスクリーンショット。

  4. アタッチを選択します。

  5. リモート コンピューターの Web サイトを開きます。 ブラウザーで、 http://<リモート コンピューター名>に移動します。

    ASP.NET Web ページが表示されます。

  6. 実行中の ASP.NET アプリケーションで、[ プライバシー ] ページへのリンクを選択します。

    ブレークポイントは Visual Studio でヒットする必要があります。

    ブレークポイントをアタッチまたはヒットできない場合は、「 リモート デバッグのトラブルシューティング」を参照してください。

IIS 展開のトラブルシューティング

  • ホスト名を使用してホストに接続できない場合は、代わりに IP アドレスを試してください。
  • リモート サーバーで必要なポートが開いていることを確認します。
  • ASP.NET Core の場合は、 DefaultAppPool の [アプリケーション プール] フィールドが [ マネージド コードなし] に設定されていることを確認する必要があります。
  • アプリで使用されている ASP.NET のバージョンが、サーバーにインストールしたバージョンと同じであることを確認します。 アプリの場合は、の [プロパティ] ページでバージョンを表示および設定できます。 アプリを別のバージョンに設定するには、そのバージョンをインストールする必要があります。
  • アプリを開こうとしたが、証明書の警告が表示された場合は、サイトを信頼することを選択します。 警告を既に閉じている場合は、プロジェクトで発行プロファイル (*.pubxml ファイル) を編集し、次の要素を追加できます (テストのみ)。 <AllowUntrustedCertificate>true</AllowUntrustedCertificate>
  • 展開が完了したら、IIS でアプリを起動して、正しく展開されたことをテストします。
  • Visual Studio の [出力] ウィンドウで状態情報を確認し、エラー メッセージを確認します。

Windows Server で必要なポートを開く

ほとんどのセットアップでは、必要なポートは、ASP.NET とリモート デバッガーのインストールによって開かれます。 ただし、デプロイの問題のトラブルシューティングを行っていて、アプリがファイアウォールの内側でホストされている場合は、正しいポートが開かれていることを確認する必要があります。

Azure VM では、次の方法でポートを開く必要があります。

必要なポート:

  • 80 - IIS に必要
  • UDP 3702 - (省略可能) 検出ポートを使用すると、Visual Studio でリモート デバッガーにアタッチするときに [検索 ] ボタンを使用できます。 これは「送信ポート」(送信ルール) である必要があります。

さらに、これらのポートは、ASP.NET Core インストールによって既に開かれている必要があります。

  • 8172 - (省略可能) Visual Studio からアプリをデプロイするには Web 配置に必要