.NET MAUIのデバッグでホスト機の環境汚染を避けたいと思って色々調べてみました。どうやら、「リモートデバッグ」という、ほかのWindowsの環境(物理的なものだけでなく仮想マシンも)にデバッガーをアタッチする機能があるそうです。
設定とか翻訳がカオスなMicrosoftのドキュメントと戦ったという内容です。
環境
| ホスト機OS | Windows 11 Pro |
|---|---|
| Visual Studio | Visual Studio 2022 Community |
| 「ターゲット.NETランタイム」 | net9.0 |
| 「ターゲット Windows Framework」 | 10.0.19041.0 |
| 仮想マシンソフト | Hyper-v |
| 仮想マシンOS | 「Windows 11 開発環境」(Win11 Enterpriseの試用版?) |
Hyper-vはPro版のWindowsにしかありません。VirtualBoxとかでも行けると思います。
Hyper-vで動くWindowsの開発環境が提供されてます。開発環境向けにセキュリティ設定が緩かったり、MSアカウントの束縛が緩かったりします。
手順
仮想マシン側でやることを仮、ホスト側でやることをホと表記します。
ホ Hyper-vにOSを入れる
このあたりを参考にします。
右ペインのクイック作成より、Windows 11 開発環境を選びます。

仮 パスワードの設定
初期状態のユーザにはパスワードが設定されていませんでした。共有ドライブなどで必要になります。Settings→Accounts→Passwordより設定します。
仮 共有ドライブを作る
デスクトップ等わかりやすい場所に新しいフォルダを作ります。右クリック→プロパティ→共有タブ→高度な設定を開きます。許可から"Everyone"に対してフルアクセスを許可します。
ホ 共有ドライブにつなぐ
さっきの共有ドライブに接続します。エクスプローラーから共有ドライブを割り当てる画面を開いて、設定します。
ユーザー名は仮想マシンのユーザー名(デフォルトなら"User")、パスワードはさっき設定したのを入力します。うまくいかなかったら仮想マシンのファイアウォールとか、Hyper-vのスイッチの設定を見直したらいいとは思います。(標準の設定で行けることは確認しましたが、、、)
仮 RemoteToolを入れる
↑のサイトをスクロールしていくとTools for Visual Studioというのがあります。その中のRemote Tools for Visual Studio 2026をダウンロードします。
インストールは特にトラブりませんでした。
ホ デバッグのプロファイルを追加する
プロジェクト右クリック→プロパティ→デバッグ起動プロファイルUIを開く

作業ディレクトリに共有ドライブ内の空のフォルダを指定します。共有ドライブ割り振られたアルファベットを使わず、** "\(仮想マシンのホスト名)(フォルダ名)"**の形式で入力してください。
リモートマシンを使用するに☑チェックして、リモートマシン名は、仮想マシンのRemote Toolに表示されたホスト名:ポート番号を入力します。

プロジェクトのプロパティ画面に戻って、出力の基本出力パスに、さっきの共有ドライブのフォルダのパスを入力します。

Visual Studioの緑の▶の再生ボタンのドロップダウンから、さっき作った構成を選びます。
完了
ブレークポイント動きました。すごい。ただXAMLのホットリロードがうまく動かないです、、、