rksoftware

Visual Studio とか C# とかが好きです

Android Emulator で使う Web サーバー API をデバッグする

Windows で ASP.NET と Android Emulator の組み合わせでデバッグする場合少し準備が必要です。
毎回忘れて苦労するのでメモを残します。

■ ASP.NET をローカル IIS でデバッグする

ASP.NET のデバッグ時、デフォルトでは IIS Express で動作するようになっていますが、ローカル IIS で動作するように設定をする必要があります。

1.ASP.NET プロジェクトのプロパティを開く  
2.左ペインで **Web** を選択  
3.**サーバー** 領域のコンボボックスで「ローカル IIS」を選択  

するのですが、環境を設定しないと選択肢が「IIS Express」「外部ホスト」の二つしかありません。

1.Windows の機能の有効化または無効化  
2.インターネット インフォメーション サービス > World Wide Web サービス のチェックを ON  
3.Visual Studio を管理者モードで再起動  

ここまでの手順を行いプロパティを開くと、選択肢が「IIS Express」「ローカルIIS」「外部ホスト」となります。

■ 実行時にエラー

上記手順を行ってもまだ動作しません。デバッグ実行すると、ブラウザに次のエラーが表示されます。

この構成セクションをこのパスで使用できません。この問題は、親レベルでセクションがロックされているときに発生します。ロック状態は既定で設定されているか (overrideModeDefault="Deny")、または overrideMode="Deny" もしくは従来の allowOverride="false" を含んだ場所タグによって明示的に設定されます。

1.C:\Windows\System32\inetsrv\Config の applicationHost.config ファイルを編集します。
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
2.Windows の機能の有効化または無効化  
3.インターネット インフォメーション サービス > World Wide Web サービス > アプリケーション開発機能 > ASP.NET 4.7 のチェックを ON  
※「.NET 拡張機能 4.7」「ISAPI フィルター」「ISAPI 拡張」も同時に ON になります。  

■ 再度実行

これでデバッグ実行すると ASP.NET アプリをデバッグできました。

参考

次のサイト/記事を参考にさせていただきました。とても助かりました。
https://yohei-nagatani.com/2016/03/500-19-80070021-iis/
https://ips.nekotype.com/4200/