Visual StudioとIIS Express間の接続問題を解決する方法
Visual StudioとIIS Express間の接続問題に対処するのは非常に厄介です。特に、localhostが全く反応しなかったり、サイトを表示せずにエラーを吐き出したりする場合にはなおさらです。一時的な不具合の場合もありますが、内部構成やポートの競合が原因の場合もあります。この問題を解決するのは必ずしも簡単ではありませんが、これらの方法は多くの場合に役立っています。これらの方法を試せば、より安定した接続が得られ、開発サーバーも再びスムーズに動作するようになるかもしれません。
Visual Studio が IIS Express に接続できない場合に試すべき解決策
Visual Studioでlocalhostが読み込まれず、Webサイトではなくエラーメッセージが表示される場合は、以下の解決策を試してみてください。基本的なものですが、驚くほど効果的です。それぞれを数分かけて試してみましょう。多くの場合、再起動やポートのリセットで解決します。
Visual Studioを再起動してください(場合によってはPCも)。
当たり前のことのように聞こえるかもしれませんが、Visual Studio を一度閉じてから再度開くと、残っている問題が解消されることがあります。Visual Studio がフリーズしたり、バックグラウンドでプロセスがハングアップしたりすることがあります。マシンを再起動するのも良いでしょう。ネットワークロックが解除され、ポートが解放されます。まれに、再起動によって、あらゆる調整を合わせたよりも接続の問題が解決することがあります。一部の環境では、最初の数回はうまくいかないものの、再起動後に突然うまくいくことがあります。理由は不明ですが、試してみる価値はあります。
ポートを閉じて再度開く
Visual Studio が接続できない場合、ポートが既に使用されているか、接続が切断されている可能性があります。これは、特に多くのテストを実行したり、複数のインスタンスを実行したりしている場合によく発生します。ネットワーク コンポーネントを再起動することで競合を解消できますが、手動で再起動することもできます。以下に詳細を説明します。
- コマンドプロンプトを管理者として開きます。を押してWin + R、
cmdと入力し、 を押しますCtrl + Shift + Enter。これにより、ネットワークサービスを停止/開始するために必要な管理者権限が付与されます。 - Winnonet ドライバーを停止するには、
net stop winnatと入力してEnterキーを押してEnterください。これにより、ループバックのネットワーク アドレス変換を処理する NAT ドライバーが停止します。 - 再起動するには、
net start winnatと入力してを押しますEnter。ここでエラーが表示される場合は、ドライバーの問題か権限の問題である可能性があります。再起動すると解決する場合もあります。 - 接続を再テストしてください。Visual Studioを再起動し、IIS Expressで再度試してください。
ポートがまだ正常に動作しない場合は、localhost の予約をリセットすると解決する可能性があります。以下を実行してください。
netsh http delete urlacl url=http://localhost:PORT/
PORT の部分は、IIS Express が使用するように設定されているポート番号に置き換えてください(プロジェクトの *.csproj* ファイルまたは *.suo* ファイルを確認してください)。このコマンドが何らかの効果を発揮する場合、Visual Studio は再起動時に予約を再作成することが多いため、再起動後に試してみる価値があります。
IIS Express構成フォルダーを削除します
これは、ユーザープロファイル内の構成ファイルが破損したり、おかしくなったりした場合に非常に役立ちます。IIS Express の構成フォルダーを削除すると、Visual Studio はデフォルト設定を再生成します。場合によっては、これで問題が解決することもあります。
- Visual Studioを完全に閉じます(バックグラウンドプロセスは実行しないでください)。
- Open Run:を押しますWin + R。
- configフォルダに移動します:と入力してキー
%userprofile%\Documents\IISExpress\を押しますEnter。 - 「Config」フォルダを探してください。そこにはすべてのサーバー設定が含まれています。
- 削除するには、選択(Shift + Del)を押して完全に削除します。リサイクルはされないので、中身が不要なものであることを確認してください。
- PCを再起動してください。これにより、Windowsがキャッシュされたデータをクリアし、起動時にフォルダーを再作成します。
- Visual Studioを開いて、接続を再テストしてください。
この方法は、以前、何をしてもIISが起動しなかったマシンで役立ちました。configフォルダを削除したら、すべてがリセットされて安定しました。なぜ肥大化したり破損したりするのかは分かりませんが、実際にそうなります。
Visual Studioのキャッシュと一時ファイルをクリアする
Visual Studio はキャッシュファイルも保持しますが、これらのファイルが破損したり、動作が停止したりすることがあります。他の方法がすべてうまくいかない場合は、これらの一時ファイルをクリアすることで解決できる場合があります。手順は次のとおりです。
- Visual Studioを完全に終了してください。プロセスが停止していないことを確認してください。
- プロジェクトフォルダを見つける:プロジェクトファイル
.slnまたはプロジェクトファイルがどこにあるかを確認してください。 - 隠しファイルを表示するには、ファイルエクスプローラーで、[表示]タブに移動し、[隠しファイルを表示]を選択します。
- 「.vs」フォルダーを削除してください。このフォルダーには、プロジェクト固有のキャッシュと一時データが含まれています。(Shift + Del)を押して完全に削除してください。Visual Studioのキャッシュが正しく再構築されるまでに、この操作を2回行う必要がある場合もあります。
- Visual Studio を再起動して、もう一度接続を試みてください。
また、などの一時ディレクトリにも注意してください%temp%。これらを時々クリアすることで、後々発生する奇妙なネットワークエラーやビルドエラーを解決できる場合があります。キャッシュの再構築はすぐには完了しませんが、一般的には、その後接続がより安定します。
これらの修正方法のいくつかを組み合わせれば、IIS Express がオンラインに戻るはずです。必ずしも一度で解決するとは限りませんが、これらの手順はよくある原因を網羅しており、特に何時間も解決できない場合は試してみる価値があります。
まとめ
- Visual Studioを再起動してください。場合によってはPC全体を再起動してください。
- winnatなどのネットワークコンポーネントを停止して再起動します。
- ポートが競合している場合は、localhost URLの予約をリセットしてください。
- IIS Express の設定フォルダーを削除して、再構築させてください。
- Visual Studioプロジェクトのキャッシュ(.vsフォルダ)をクリアする
まとめ
正直なところ、IIS Expressの接続問題を解決するのは大変な作業ですが、これらの方法で多くのプロジェクトが救われてきました。たいていは、詰まった設定ファイルを削除したり、ポートを解放したりするだけで解決します。諦めずに、各手順を試してみてください。もしかしたら、localhostが再び起動するかもしれません。この情報が、誰かの時間と労力を節約するのに役立つことを願っています。頑張ってください!