このガイドでは、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 ロールとリモート デバッガーを手動でインストールする必要があります。
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 Network セキュリティ グループでポート 80 を開きます。 ポート 80 が開かれていることを確認したら、リモート デバッガーの 正しいポート (4026、4024、または 4022) も開きます。 そうすれば、後で開く必要はありません。 Web Deploy を使用している場合は、ポート 8172 も開きます。
Visual Studio コンピューターで ASP.NET Core アプリケーションを作成する
新しい ASP.NET Core Web アプリケーションを作成します。
Visual Studioで、File>Start ウィンドウ を選択してスタート ウィンドウを開き、 新しいprojectを作成します。 検索ボックスに、「web app」と入力します。 言語として C# を選択し、ASP.NET Core Web アプリケーション (モデル-View-Controller) を選択し、 Next を選択します。 次の画面で、project MyASPApp という名前を付け、Next を選択します。
推奨されるターゲット フレームワークまたは .NET 10 を選択し、Create を選択します。 バージョンは、サーバーにインストールされているバージョンと一致している必要があります。
Controllers フォルダー内のHomeController.cs ファイルを開き、 メソッドの ステートメントにブレークポイントを設定します。
以前のテンプレートでは、 Privacy.cshtml.cs ファイルを開き、 メソッドにブレークポイントを設定します。
Windows Server でブラウザーのセキュリティ設定を更新する
古いバージョンの Windows Server を使用している場合は、一部のドメインを信頼済みサイトとして追加して、一部の Web サーバー コンポーネントをダウンロードできるようにする必要がある場合があります。 [ インターネット オプション] [セキュリティ] [信頼済みサイト] サイトに移動して、信頼済みサイトを追加します。 次のドメインを追加します。
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
ソフトウェアをダウンロードすると、さまざまな Web サイト スクリプトとリソースを読み込むアクセス許可を付与する要求を受け取ることがあります。 これらのリソースの一部は必須ではありませんが、プロセスを簡略化するために、メッセージが表示されたら [追加] を選択します。
Windows Server に ASP.NET Coreをインストールする
.NET Core ホスティング バンドルをホスティング システムにインストールします。 このバンドルは、.NET Core ランタイム、.NET コア ライブラリ、および 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 ホスティングをインストールします。
注
システムに Inte rnet 接続がない場合は、.NET Core Windows Server ホスティング バンドルをインストールする前に、Microsoft Visual C++ 2015 再頒布可能パッケージを取得してインストールします。
システムを再起動します(または、コマンドプロンプトから 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 サイトを構成する
IIS マネージャーの左側のウィンドウの [ 接続] で、[ アプリケーション プール] を選択します。 DefaultAppPool を開き、.NET CLR バージョンを No Managed Code に設定します。 これは、ASP.NET Coreに必要です。 既定の Web サイトでは DefaultAppPool が使用されます。
DefaultAppPool を停止して再起動します。
Windows Server に Web Deploy をインストールおよび構成する
Web 配置には、UI から発行設定ファイルを作成できる追加の構成機能が用意されています。
注
Web プラットフォーム インストーラーは、7/1/22 に終了しました。 詳細については、「Web Platform Installer - サポート終了と製品/アプリケーション フィードの終了を参照してください。 Web Deploy 4.0 を直接インストールして、発行設定ファイルを作成できます。
IIS 管理スクリプトとツール
まだインストールしていない場合は、ここでインストールします。 Web Server (IIS) 管理ツール サーバーロールの選択] に移動し、 IIS 管理スクリプトとツールの ロールを選択し、[次] をクリックして、ロールをインストールします。 IIS 管理スクリプトとツール をインストールする
発行設定ファイルの生成を有効にするには、スクリプトとツールが必要です。
管理サービス と IIS 管理コンソールもインストールしてください (既にインストールされている可能性があります)。 Windows Server で Web Deploy 4.0をダウンロード。
Web Deploy インストール プログラムを実行し、一般的なインストールではなく、完全な インストールを選択していることを確認します。
完全なインストールでは、発行設定ファイルを生成するために必要なコンポーネントを取得します。 (代わりに [カスタム
選択した場合は、次の図に示すように、コンポーネントの一覧を表示できます)。 Web Deploy 4.0 コンポーネント を示すスクリーンショット
(任意) Web Deploy が正しく動作しているか確認するには、コントロール パネル > システムとセキュリティ > Windows ツール > サービス を開き、次のことを確認します。
Web Deployment Agent Service が実行されています (サービス名は古いバージョンでは異なります)。
Web Management Service が実行されています。
エージェント サービスのいずれかが実行されていない場合は、Web Deployment Agent Serviceを再起動します。
Web 展開エージェント サービスがまったく存在しない場合は、Control Panel > Programs > プログラムのアンインストールに移動し、Microsoft Web Deploy <version> を見つけます。 インストールの [変更] を選び、Web 配置コンポーネントに [ローカル ハード ドライブにインストール] を選択していることを確認します。 変更のインストール手順を完了します。
Windows Server 上の IIS で発行設定ファイルを作成する
IIS 管理コンソールを閉じて再度開くと、UI に更新された構成オプションが表示されます。
IIS で [既定の Web サイト] を右クリックして、[配置][Web 配置の発行の構成] を選びます。
Web 配置構成 を構成する
[Deploy] メニューが表示されない場合は、前のセクションを参照して、Web 配置が実行されていることを確認してください。
[Web 配置の発行の構成] ダイアログ ボックスで、設定を確認します。
[設定] をクリックします。
Results パネルでは、access権限が指定されたユーザーに付与され、
.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 ファイルに異なる値が表示されます。 表示される値の詳細を次に示します。
属性で参照される ファイルは、Web 配置用に動的に生成された HTTP ハンドラー ファイルです。 (テスト目的では、 は一般的に同様に機能します)。
ポートはポート 8172 に設定されます。これは Web 配置の既定値です。
ポートは、IIS の既定値であるポート 80 に設定されます。
後の手順で、ホスト名を使用してVisual Studioからリモート ホストに接続できない場合は、ホスト名の代わりにサーバーの IP アドレスをテストします。
注
Azure VM で実行されている IIS に発行する場合は、ネットワーク セキュリティ グループで Web 配置と IIS の受信ポートを開く必要があります。 詳細については、「仮想マシンへのポートを開くを参照してください。
このファイルを、Visual Studioを実行しているコンピューターにコピーします。
Visual Studioで発行設定をインポートして展開する
ASP.NET projectをVisual Studioで開いているコンピューターで、Solution Explorerのprojectを右クリックし、Publish を選択します。
発行プロファイルを以前に構成した場合は、[ 発行 ] ウィンドウが表示されます。 「新規」をクリックするか、または「新しいプロファイルの作成」を選択します。
プロファイルをインポートするオプションを選択します。
[発行] ダイアログ ボックスで [プロファイルのインポート] をクリックします。
公開の選択
前のセクションで作成した発行設定ファイルの場所に移動します。
[発行設定ファイルのインポート] ダイアログで、前のセクションで作成したプロファイルに移動して選択し、[開く] をクリックします。
[完了] をクリックして発行プロファイルを保存し、[発行] をクリックします。
Visual Studioデプロイ プロセスが開始され、[出力] ウィンドウに進行状況と結果が表示されます。
展開エラーが発生した場合は、[ その他のアクション]編集 をクリックして設定を編集します。 設定を変更し、[検証] をクリックして新しい設定をテストします。 ホスト名が見つからない場合は、[ サーバー ] フィールドと [ 宛先 URL ] フィールドの両方でホスト名の代わりに IP アドレスを試してください。
発行ツール で設定を編集
注
Azure VM を再起動すると、IP アドレスが変更される可能性があります。
アプリが正常にデプロイされると、自動的に開始されます。
- デプロイ後にアプリが起動しない場合は、IIS でアプリを起動して、正しく実行されていることを確認します。
- ASP.NET Coreの場合は、DefaultAppPool のアプリケーション プール フィールドがマネージ コードなしに設定されていることを確認します。
準備ができたら、デバッグ構成に切り替えます。
Von Bedeutung
リリース構成をデバッグする場合は、発行時に web.config ファイルのデバッグを無効にします。
- [ その他のオプション]編集 を選択してプロファイルを編集し、[ 設定]を選択します。
- [ 保存] を 選択し、アプリを再発行します。
- [デバッグ構成] を選択し、[ファイルの発行] オプションの下にある [コピー先で追加のファイルを削除する] を選択します。
Warnung
ユーザー名とパスワードの資格情報 (基本認証) を使用することは、最も安全な認証方法ではありません。 可能な限り、別の方法を使用してください。 たとえば、Visual Studioからパッケージに発行し、コマンド ラインから WebDeploy.exe を使用してパッケージをデプロイすることを検討します。 この方法では、IIS マネージャーを使用して、Web サーバーに発行できる承認済みの Windows ユーザーを構成し、その Windows ユーザー アカウントで WebDeploy.exe を実行できます。 「IIS 8.0 以降での Web 配置のインストールと構成」を参照してください。 パスワード資格情報を使用する場合は、必ず強力なパスワードを使用し、パスワードが漏洩または共有されないように保護してください。
(省略可能)ローカル フォルダーに発行してデプロイする
PowerShell、RoboCopy を使用してアプリを IIS にコピーする場合、またはファイルを手動でコピーする場合は、このオプションを使用してアプリをデプロイできます。
Windows Server コンピューターで ASP.NET Core Web サイトを構成する
発行設定をインポートする場合は、このセクションをスキップできます。
インターネット インフォメーション サービス (IIS) マネージャーを開き、[サイト] に移動します。
[既定の Web サイト] ノードを右クリックし、[アプリケーションの追加] を選択します。
[エイリアス] フィールドを MyASPApp に設定し、[アプリケーション プール] フィールドを [マネージド コードなし] に設定します。 Physical パス を C:\Publish に設定します (後で ASP.NET Core projectをデプロイします)。
IIS マネージャーでサイトを選択し、[ アクセス許可の編集] を選択し、アプリケーション プール用に構成された IUSR、IIS_IUSRS、またはユーザーが、読み取りおよび実行権限を持つ承認されたユーザーであることを確認します。
accessを持つこれらのユーザーのいずれかが表示されない場合は、IUSRを「読み取りおよび実行」権限を持つユーザーとして追加する手順を実行してください。
Von Bedeutung
組み込みアカウントに関連するセキュリティ情報については、「 IIS 7 のユーザー アカウントとグループ アカウント Built-In について」を参照してください。
(省略可能)Visual Studioからローカル フォルダーに発行してアプリを発行および展開する
Web 配置を使用していない場合は、ファイル システムまたはその他のツールを使用してアプリを発行してデプロイする必要があります。 まず、ファイル システムを使用してパッケージを作成してから、パッケージを手動でデプロイするか、PowerShell、Robocopy、XCopy などの他のツールを使用します。 このセクションでは、Web 配置を使用していない場合は、パッケージを手動でコピーすることを前提としています。
Solution Explorerで、project ノードを右クリックし、 Publish (Web フォーム、Publish Web App) を選択します。
以前に発行プロファイルを構成している場合、発行 ペインが表示されます。 [ 新しいプロファイル] をクリックします。
[ 発行 ] ダイアログ ボックスで、[ フォルダー] を選択し、[ 参照] をクリックし、新しいフォルダー C:\Publish を作成します。
[ 完了] をクリックして発行プロファイルを保存します。
デバッグ構成に切り替えます。
[ 編集] を 選択してプロファイルを編集し、[ 設定] を選択します。 [デバッグ] 構成を選択し、[ファイルの発行] オプションの下にある [コピー先で追加のファイルを削除する] を選択します。
[発行] ダイアログ ボックスの [設定] タブのスクリーンショット。構成が [デバッグ] に設定され、[発行] ボタンが選択されています。
注
リリース ビルドを使用する場合は、発行時に web.config ファイルのデバッグを無効にします。
[公開] をクリックします。
アプリケーションは、projectの Debug 構成をローカル フォルダーに発行します。 [出力] ウィンドウに進行状況が表示されます。
Visual Studio コンピューターから、Windows Server コンピューター上の ASP.NET アプリ用に構成されたローカル ディレクトリ (この例では C:\Publish) に ASP.NET project ディレクトリをコピーします。 このチュートリアルでは、手動でコピーすることを前提としていますが、PowerShell、Xcopy、Robocopy などの他のツールを使用できます。
注意事項
コードまたはリビルドを変更する必要がある場合は、再発行してこの手順を繰り返す必要があります。 リモート コンピューターにコピーした実行可能ファイルは、ローカル ソースとシンボルと完全に一致している必要があります。 そうしないと、プロセスをデバッグしようとしたときに、Visual Studioに
cannot find or open the PDB file警告が表示されます。Windows Server で、ブラウザーでアプリを開くことで、アプリを正しく実行できることを確認します。
アプリが正しく実行されない場合は、サーバーにインストールされている ASP.NET Visual Studio コンピューターのバージョンが一致しないか、IIS または Web サイトの構成に問題がある可能性があります。 前の手順を再確認します。
Windows Server にリモート ツールをダウンロードしてインストールする
Visual Studioのバージョンに一致するリモート ツールのバージョンをダウンロードします。
Visual Studio コンピューターではなく、デバッグ対象のリモート デバイスまたはサーバーで、次の表のリンクから正しいバージョンのリモート ツールをダウンロードしてインストールします。
- Visual Studioのバージョンのリモート ツールの最新の更新プログラムをダウンロードします。 Visual Studio 2022 および 2026 用のリモート ツールは、どちらのバージョンのVisual Studioでも使用できます。 ただし、Visual Studio 2022 より前のバージョンのリモート ツールは、以降のVisual Studio バージョンと互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
- Visual Studioのバージョンのリモート ツールの最新の更新プログラムをダウンロードします。 以前のバージョンのリモート ツールは、以降のVisual Studio バージョンと互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
- リモート ツールをインストールするコンピューターと同じアーキテクチャでダウンロードします。 たとえば、x64 オペレーティング システムを実行しているリモート コンピューターで x86 アプリケーションをデバッグする場合は、x64 リモート ツールをインストールします。 ARM64 オペレーティング システムで x86、ARM、または x64 アプリケーションをデバッグするには、ARM64 リモート ツールをインストールします。
| バージョン | リンク | 注記 |
|---|---|---|
| Visual Studio 2026 | リモート ツール | Visual Studio 2022 以降のバージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server では、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。 |
| Visual Studio 2022 | リモート ツール | Visual Studio 2022 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (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 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 ドキュメントのダウンロード ページ |
リモート デバッガーを実行するには、リモート ツールをインストールするのではなく、リモート コンピューターに 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 でリモート デバッガーを設定する
リモート コンピューターで、の [スタート] メニューから リモート デバッガー を見つけて起動します。
リモート コンピューターに対する管理アクセス許可がない場合は、リモート デバッガー アプリを右クリックし、[管理者 として実行]選択します。 それ以外の場合は、通常どおりに起動するだけです。
管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行しているプロセスにアタッチする場合は、リモート デバッガー アプリを右クリックし、[管理者として実行] 選択。 詳細については、「リモート デバッガーを管理者として実行する」を参照してください。
リモート デバッガーを初めて起動するとき (またはリモート デバッガーを構成する前)、リモート デバッグ構成 ウィザードが表示されます。
ほとんどのシナリオでは、[ リモート デバッグの構成] を選択します。
リモートデバッガー構成のスクリーンショット。リモートデバッガーの構成
ほとんどのシナリオでは、ウィザードの [Windows ファイアウォール の構成] ページに移動するまで、[次の ] を選択します。
リモートデバッガー構成のスクリーンショット。リモートデバッガーの構成
リモート ツールを使用するネットワークの種類を少なくとも 1 つ選択します。 コンピューターがドメイン経由で接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホームグループ経由で接続されている場合は、必要に応じて 2 番目または 3 番目の項目を選択します。
次に、[完了] を選択してリモート デバッガーを起動します。
構成が完了すると、リモート デバッガーの ウィンドウが表示されます。
リモート デバッガー ウィンドウリモート デバッガー ウィンドウのスクリーンショット
リモート デバッガー ウィンドウリモート デバッガー ウィンドウのスクリーンショット
これで、リモート デバッガーは接続を待機しています。 表示されているサーバー名とポート番号を使用して、Visual Studioでリモート接続の構成を設定します。
リモート デバッガーを停止するには、[ファイル] 選択します。 の [スタート] メニューまたはコマンド ラインから再起動できます。
<Remote debugger installation directory>\msvsmon.exe
注
追加のユーザーのアクセス許可を追加する必要がある場合は、リモート デバッガーの認証モードまたはポート番号を変更する リモート デバッガーを構成するを参照してください。
Visual Studio コンピューターから ASP.NET Core アプリケーションにアタッチする
Visual Studio 2022 バージョン 17.10 Preview 2 以降では、[プロセスにアタッチ] ダイアログ ボックスが変更されました。 以前のダイアログ ボックスに一致する手順が必要な場合は、Visual Studio 2019 ビュー (記事の左上のバージョン セレクター) に切り替えます。
Visual Studio コンピューターで、デバッグしようとしているソリューション (MyASPApp を開きます (この記事のすべての手順に従っている場合)。
Visual Studioで、Debug > プロセスへのアタッチ (Ctrl + Alt + P) を選択します。
ヒント
Visual Studio 2017 以降のバージョンでは、Debug > Process への再アタッチを使用して、以前にアタッチしたのと同じプロセスに再アタッチできます。 (Shift + Alt + P)。
[接続の種類] を [リモート] (Windows) に設定します。
[ 接続ターゲット] オプションが表示されます。
接続ターゲットを に設定しEnter キーを押します。
Visual Studio がリモートコンピューター名に必要なポートを追加していることを確認します。これは、
の形式で表示されます。リモート コンピューター名 :ポート Visual Studio 2022 では、
が表示されますリモート コンピューター名 :4026 ポートは必須です。 ポート番号が表示されない場合は、手動で追加します。
[ 最新の情報に更新] を選択します。
一部のプロセスが [ 使用可能なプロセス ] ウィンドウに表示されます。
プロセスが表示されない場合は、リモート コンピューター名の代わりに IP アドレスを使用してみてください (ポートが必要です)。 コマンド ラインで を使用して、IPv4 アドレスを取得できます。
[検索] ボタンを使用する場合は、サーバーで送信 UDP ポート 3702 を開く必要がある場合があります。
[すべてのユーザーからのプロセスを表示する] をオンにします。
プロセス名の最初の文字を入力して、アプリをすばやく見つけます。
IIS でインプロセス ホスティング モデル を使用している場合は、適切な w3wp.exe プロセスを選択します。 .NET Core 3 以降では、このプロセスが既定です。
それ以外の場合は、 dotnet.exe プロセスを選択します。 (これはプロセス外のホスティング モデルです)。
w3wp.exeまたはdotnet.exeが表示されている複数のプロセスがある場合は、ユーザー名列を確認してください。 一部のシナリオでは、IIS APPPOOL\DefaultAppPool などのアプリ プール名が [ユーザー名] 列に表示されます。 アプリ プールが表示されていても、一意ではない場合は、デバッグするアプリ インスタンス用の新しい名前付きアプリ プールを作成し、[ ユーザー名] 列で簡単に見つけることができます。
[プロセスにアタッチ] ダイアログのスクリーンショット。RemoteDBG_AttachToProcess
アタッチを選択します。
リモート コンピューターの Web サイトを開きます。 ブラウザーで、 http://リモート コンピューター名に移動します。
ASP.NET Web ページが表示されます。
実行中の ASP.NET アプリケーションで、Privacy ページへのリンクを選択します。
ブレークポイントはVisual Studioでヒットするように設定する必要があります。
ブレークポイントをアタッチまたはヒットできない場合は、「 リモート デバッグのトラブルシューティング」を参照してください。
IIS 展開のトラブルシューティング
- ホスト名を使用してホストに接続できない場合は、代わりに IP アドレスを試してください。
- リモート サーバーで必要なポートが開いていることを確認します。
- ASP.NET Coreの場合は、DefaultAppPool のアプリケーション プール フィールドが 管理されていないコード に設定されていることを確認する必要があります。
- アプリで使用されている ASP.NET のバージョンが、サーバーにインストールしたバージョンと同じであることを確認します。 アプリの場合は、の [プロパティ] ページでバージョンを表示および設定できます。 アプリを別のバージョンに設定するには、そのバージョンをインストールする必要があります。
- アプリを開こうとしたが、証明書の警告が表示された場合は、サイトを信頼することを選択します。 警告を既に閉じている場合は、projectで発行プロファイル *.pubxml ファイルを編集し、次の要素を追加できます (テストのみ)。
<AllowUntrustedCertificate>true</AllowUntrustedCertificate> - 展開が完了したら、IIS でアプリを起動して、正しく展開されたことをテストします。
- Visual Studioの [出力] ウィンドウで状態情報を確認し、エラー メッセージを確認します。
Windows Server で必要なポートを開く
ほとんどのセットアップでは、ASP.NET とリモート デバッガーのインストールによって必要なポートが開かれます。 ただし、デプロイの問題のトラブルシューティングを行っていて、アプリがファイアウォールの内側でホストされている場合は、正しいポートが開かれていることを確認する必要があります。
Azure VM では、次の方法でポートを開く必要があります。
- Network セキュリティ グループ。
- Windows Server 上のファイアウォール
必要なポート:
- 80 - IIS に必要
- 4026 - Visual Studio 2022 からのリモート デバッグに必要です (詳細については、「リモート デバッガー ポートの割り当てを参照してください)。
- UDP 3702 - (省略可能) 検出ポートを使用すると、Visual Studioのリモート デバッガーにアタッチするときに Find ボタンを使用できます。 これは「送信ポート」(送信ルール) である必要があります。
さらに、これらのポートは、ASP.NET Coreインストールによって既に開かれている必要があります。
- 8172 - (省略可能) Web Deploy でアプリを Visual Studio からデプロイするには必須