Visual Studio で「IIS Express Web サーバーを起動できません。」質問する

Visual Studio で「IIS Express Web サーバーを起動できません。」質問する

Visual Studio を通じて Web サービスを実行しようとしました。次のような問題が発生しました:

---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.

Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)

---------------------------
OK   
---------------------------

タスクマネージャーを見ると、PID 4はシステムによって使用されており、その説明は なので、NT Kernel & System.停止しようとしましたhttp service。すべての依存サービスが停止しました。しかし、次のようなhttpサービスを停止する際に問題が発生しています。

The service is starting or stopping.  Please try again later.

そこで、手動でサービスを停止して開始しようとしました。しかし、終了プロセスは無効になっています。この問題について誰かが助けてくれると助かります。

ベストアンサー1

Windows 10 で Visual Studio 2019 からプロジェクトを実行しようとしたときにも、同様の問題が発生しました。ポートが別のプロセスによって使用されているため、アプリケーションを起動できませんでした。ただし、netstatコマンドを実行すると、ポートがどのアプリケーションでも使用されていないことが示されました。

2 日間 Google 検索を続けた結果、自分にとって有効な解決策を見つけました。使用しようとしていたポートは除外ポート範囲内にあり、次のコマンドを実行すると確認できます。

netsh interface ipv4 show excludedportrange protocol=tcp

私の場合、これらのポートを予約した犯人はDocker for WindowsとHyper-Vでした。

ソリューション

Docker をアンインストールし (必要がなかったため)、Hyper-V を無効にしました。Hyper-V を無効にするには、コントロール パネル -> プログラムと機能 -> Windows の機能の有効化または無効化に移動します。Hyper-V のチェックを外して、コンピューターを再起動します。

再起動後、コマンドを実行するとnetsh interface ipv4 show excludedportrange protocol=tcpポートが予約されていないことが示されました。

次に、管理者特権のコマンド ラインから次のコマンドを実行して、アプリケーションのポートを除外ポート範囲に追加しました。

netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent

次に、Hyper-V を再度有効にして (必要に応じて Docker を再インストールできます)、コンピューターを再起動しました。

Hyper-V は、アプリケーションが使用するポートに干渉することなく、ポートを予約するようになりました。予約済みポート範囲

おすすめ記事