原因と修正方法 IIS Express「指定されたポートは使用中です」質問する

原因と修正方法 IIS Express「指定されたポートは使用中です」質問する

Visual Studio の Web アプリケーションにはランダムなポート番号が割り当てられていることがわかっています。私のオフィスのデスクトップでは問題なく動作します。しかし、コードをラップトップ (VisualStudio.com から) にプルして Web アプリケーションを実行すると、次のようなメッセージが表示されます。

指定されたポートは使用中です

ポート 10360 はすでに別のアプリケーションによって使用されています。

推奨事項

  1. 10360 以外のポート、1024 より高いポートに切り替えてみてください。
  2. ポート 10360 を使用しているアプリケーションを停止します。

ポートを 13333 などの別のポートに変更することで修正できますRecommendation #1。しかし、ポート 10360 に何が起こったのか非常に興味があります。ポート 10360 を使用しているアプリケーションを確認するにはどうすればよいでしょうか。そのアプリケーションを停止するにはどうすればよいでしょうか。

ベストアンサー1

Windows 10 で Visual Studio 2019 を実行しているときにも同様の問題が発生しました。他のユーザーに有効だった解決策には次のようなものがあるようです。

  1. アプリケーション ポート番号の変更。
  2. アプリケーションの起動ごとに Visual Studio でポート番号を自動的に割り当てます。
  3. Visual Studioを再起動します
  4. コンピュータを再起動します。

残念ながら、これらの解決策はどれも機能しませんでした。別のポート番号を割り当てることは機能しましたが、アプリケーションが指定されたポートで実行されることが重要であったため、受け入れられる解決策ではありませんでした。

ソリューション

まず次のコマンドを実行しました:

netsh http add iplisten ipaddress=::

昇格されたコマンドライン プロセスから。これにより、最初のエラーが解決され、アプリケーションを実行しようとしたときに「ポートが使用中」というエラーが表示されなくなりました。代わりに、管理者権限が必要なためアプリケーションがポートにバインドできないというエラーが表示されるようになりました。(Visual Studio を管理者として実行していましたが)

2 番目のエラーは、ポート除外範囲にポートを追加する Hyper-V によって発生しました。アプリケーションが使用するポートは、これらの除外範囲の 1 つに含まれていました。次のコマンドを実行すると、これらのポートを表示できます。netsh interface ipv4 show excludedportrange protocol=tcp

この 2 番目のエラーを解決するには:

  1. Hyper-Vを無効にする: コントロールパネル->プログラムと機能->Windowsの機能の有効化または無効化。Hyper-Vのチェックを外します。
  2. コンピュータを再起動します。
  3. 使用しているポートをポート除外範囲に追加します。netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
  4. Hyper-V を再度有効にする
  5. コンピュータを再起動します

ここからはすべてが完璧に機能しました。

おすすめ記事