Windows 11 24H2更新後にVisual StudioのIIS Expressが起動しない(.NET Framework 4.8)原因と修復手順

Windows 11 を 24H2 に更新した後、Visual Studio で .NET Framework 4.8 の Web アプリ(ASP.NET MVC など)をデバッグ起動すると、IIS Express が起動できずに終了してしまうことがあります。ここでは、最短で直りやすい「IIS Express の修復」手順と、直らない場合の切り分けポイントをまとめます。

目次

影響を受けやすい環境の例

同じ「Windows 24H2 更新後」でも、構成によって発生のしやすさが変わります。特に次のような組み合わせで問い合わせが増えがちです。

項目例補足
OSWindows 11 24H2大型更新の直後にローカル開発環境の不整合が表面化することがある
IDEVisual Studio 2019 / 2022デバッグ起動で IIS Express を使う構成
対象アプリ.NET Framework 4.8 の ASP.NET MVC / WebForms などHTTPS を使っていると影響を受けやすい
ローカル Web サーバーIIS Expressiisexpress.exe が起動直後に終了する症状として現れる

この問題で起きること(現象の整理)

Visual Studio のローカル実行では、既定で IIS Express が使われます。ところが Windows 24H2 更新後に、IIS Express の起動に必要な構成(特に HTTPS 周り)が噛み合わなくなると、起動直後に iisexpress.exe が終了し、デバッグが開始できません。特徴として「同じ PC でもプロジェクトによって発生したりしなかったりする」ケースがあり、初見だとプロジェクト設定のせいに見えやすい点が厄介です。

代表的なエラーメッセージと症状

分類症状よく見る表示・ログまず疑うポイント
起動失敗開始直後に IIS Express が落ちてデバッグできないUnable to start program …\IIS Express\iisexpress.exe. The process has been terminated.IIS Express/HTTP.sys/HTTPS 周りの不整合
VS 側の案内「プロセス一覧を更新してから…」等が出て先に進まないデバッグ対象プロセスが見つからない起動直後にプロセス終了している
プロジェクト差WCF は動くが ASP.NET MVC だけ失敗、などHTTP のみ/HTTPS あり、ポートの違いなどで差が出るHTTPS バインド、ポート衝突、.vs 設定

まず確認したい「前提」

原因切り分けを速くするために、次の前提を先に押さえておくと迷いにくくなります。

  • 対象は主に .NET Framework 4.8 の Web アプリ(ASP.NET MVC/ASP.NET WebForms/一部の API など)で起きやすい
  • Visual Studio からの起動は IIS Express(iisexpress.exe) が担っている
  • プロジェクトごとの IIS Express 設定は、ソリューション配下の .vs フォルダーに保存されることが多い
  • HTTPS を使う構成は HTTP.sys や証明書バインドの影響を受けやすい

最短で直す方法:IIS Express を修復(Repair)する

結論から言うと、この問題は IIS Express の修復(Repair)で解消するケースが多いです。Windows 更新後に欠けた設定が再適用され、IIS Express が起動できる状態に戻ることがあります。

コントロール パネルから修復する(代表的な手順)

  1. Windows の検索で「コントロール パネル」を開く
  2. 「プログラム」→「プログラムと機能」を開く
  3. 一覧から「IIS Express」を選択する
  4. 上部メニューや右クリックから「変更」または「修復(Repair)」を実行する
  5. 完了したら Visual Studio を再起動し、該当プロジェクトをデバッグ起動する

iisexpress.exe の場所が分からないとき

環境によって 32bit/64bit の違いがあり、パスが異なる場合があります。Visual Studio のエラーに出るパスと、実ファイルの場所が一致しているかも確認しておくと安心です。

候補パス例メモ
64bit 側%ProgramFiles%\IIS Express\iisexpress.exe一般的にこちらが優先されることが多い
32bit 側%ProgramFiles(x86)%\IIS Express\iisexpress.exe環境によってはこちらが使われることもある

「IIS Express」が一覧に見つからない場合

環境によっては、IIS Express が単体の項目として表示されないことがあります。その場合は次の順で試すと無駄が少ないです。

  • Visual Studio Installer の「修復」(Visual Studio 本体の構成と一緒に IIS Express 側も整うことがある)
  • Visual Studio のワークロード/コンポーネントを見直し、IIS Express 相当が含まれる構成に戻す
  • 最終手段として IIS Express の再インストール

修復後のすぐできる確認

  • Visual Studio のツールバーで、起動先が「IIS Express」になっているか
  • タスク マネージャーで iisexpress.exe が起動したまま維持されるか
  • ブラウザが開き、アプリのトップページが表示されるか

なぜ修復で直るのか:HTTP.sys(HTTP API)と HTTPS の落とし穴

Windows の大型更新後、ローカル開発環境の一部(HTTP/HTTPS の待ち受けや証明書の関連付け)が不整合を起こすことがあります。IIS Express は、HTTPS を有効にしたサイトの待ち受けで Windows の HTTP API(HTTP.sys)や証明書バインドの影響を受けるため、ここが壊れると「起動できない」「起動してもすぐ落ちる」といった症状につながります。

要素何をしているか不整合が起きたときの典型症状
HTTP.sys(HTTP API)HTTP/HTTPS の待ち受け、URL 予約(URLACL)、SSL 証明書バインドHTTPS が開始できず IIS Express が終了する/特定ポートだけ失敗する
開発用証明書(localhost/IIS Express)ローカル HTTPS の暗号化通信に使うHTTPS だけ落ちる、またはブラウザで証明書エラーが出る
ソリューション固有の IIS Express 設定サイト名、バインド(http/https)、ポート、アプリ設定を保持「そのソリューションだけ」起動できない

修復(Repair)は、IIS Express 本体の構成や登録情報を整え直し、結果として 起動に必要な設定が再適用されるため、更新後に壊れた状態から回復できることがあります。

切り分けのコツ:プロジェクト依存か、IIS Express 依存か

同じ PC で「動くプロジェクト」と「動かないプロジェクト」が混在する場合、切り分けの順番が重要です。次の順に確認すると、原因の当たりを付けやすくなります。

新規プロジェクトで再現するか

  • 新規で「ASP.NET Web アプリ(.NET Framework)」を作り、IIS Express で起動できるか確認する
  • 新規も失敗するなら、IIS Express/OS 側に原因がある可能性が高い
  • 新規は成功するのに既存だけ失敗するなら、.vs 設定やポート・SSL の差が疑わしい

HTTP で動いて HTTPS で落ちるか

HTTPS が絡むと問題が顕在化しやすいため、まずは「HTTP なら起動するか」を見ると早いです。

  • HTTP は動くが HTTPS だけ落ちる → 証明書/SSL バインド/HTTP.sys を重点的に疑う
  • HTTP でも HTTPS でも落ちる → ポート衝突、IIS Express 本体の破損、.vs 設定破損などを疑う

コマンドラインで iisexpress.exe を手動起動できるか

Visual Studio 経由だと情報が省略されることがあるため、手動起動は強力な切り分けになります。

REM 例)サイト名で起動(applicationhost.config に定義されているサイト名を使う)
"%ProgramFiles%\IIS Express\iisexpress.exe" /site:SiteName

REM 例)物理パスとポートで起動(より単純)
"%ProgramFiles%\IIS Express\iisexpress.exe" /path:"C:\path\to\your\web" /port:51000

手動起動でも即終了する場合は、IIS Express か OS 側(HTTP.sys/SSL)の問題である可能性が高いです。逆に手動起動はできるのに Visual Studio からだけ失敗する場合は、ソリューション固有の設定(.vs 配下など)を優先して疑いましょう。

設定ファイルとログの場所(把握しておくと強い)

トラブルシュートでは「どこに設定があるのか」「どこにログがあるのか」を把握しているだけで、調査速度が大きく変わります。

種類主な場所用途
ソリューション固有の IIS Express 設定(例)ソリューション直下の .vs\config\applicationhost.configサイト名、バインド、ポートなど。既存だけ壊れるときに見る
IIS Express の共通設定(例)%USERPROFILE%\Documents\IISExpress\configユーザー環境の設定。全体的におかしい時に見る
IIS Express のログ(例)%USERPROFILE%\Documents\IISExpress\Logs起動失敗時のヒントが出ることがある

イベント ビューアーも確認する

IIS Express が起動直後に落ちると、Visual Studio の画面だけでは原因が見えにくいことがあります。「イベント ビューアー」→「Windows ログ」→「アプリケーション」で、同時刻に IIS Express/HTTP/SSL 関連のエラーが出ていないかを確認すると、方向性が見えることがあります。

修復でも直らない場合の追加対処(上から順に)

ここから先は「修復で直らなかった」場合の追加策です。いきなり深掘りするより、副作用の少ない順で試すのが安全です。

.vs フォルダーを退避して再生成する

「特定のソリューションだけ失敗する」場合に特に有効です。

  1. Visual Studio を終了する
  2. ソリューションフォルダー直下の .vs を別名にして退避する(例:.vs_backup)
  3. Visual Studio を起動してデバッグ実行する(必要な構成が再生成される)

Documents\IISExpress を退避して環境をリセットする

ユーザー環境側の IIS Express 設定が壊れていると疑わしい場合は、%USERPROFILE%\Documents\IISExpress を退避して再生成させる方法もあります。まずはフォルダーごと削除せず、リネームで退避するのが安全です。

ポート衝突を確認する

ポートが別プロセスに使用されていると IIS Express は開始できません。手早く確認するには次のコマンドが便利です。

REM 例)51000 番ポートを使用しているプロセスを確認
netstat -ano | findstr :51000

該当 PID が不要なプロセスであれば停止し、必要なプロセスならプロジェクトのポートを変更して回避します。

HTTP.sys の予約や SSL バインドを「状況確認」する(上級者向け)

HTTPS が絡む場合、HTTP.sys の状態を見ると当たりが付くことがあります。ここでは 変更は行わず確認のみに留めるのが安全です。

REM URL 予約(URLACL)の一覧
netsh http show urlacl

REM SSL 証明書バインドの一覧
netsh http show sslcert

ローカルホストのポート(https://localhost:xxxxx)に関するエントリが不自然に欠けている、あるいは別のアプリに紐づいている場合、修復や証明書再作成で整うことがあります。

HTTPS を一時的に外して「まず動く」状態を作る

急ぎの場合は、プロジェクトの URL を http に切り替えて起動できるか確認します。HTTP で起動できれば、アプリ本体は動いていて、問題が HTTPS 側に寄っていると判断しやすくなります。

Visual Studio Installer の修復を検討する

IIS Express の修復、.vs 再生成でも改善しない場合は、Visual Studio のインストール構成が更新で歪んだ可能性もあります。Visual Studio Installer の「修復」は時間はかかりますが、環境全体を整える効果があります。

よくある質問

WCF は動くのに ASP.NET MVC だけ起動できないのはなぜ?

構成差が原因になりがちです。例えば WCF 側は HTTP のみで、ASP.NET MVC 側は HTTPS を使っている、あるいは MVC 側だけ別ポートを使っている、といった違いがあると、24H2 更新後の不整合が 一部プロジェクトにだけ表面化します。まずは HTTP/HTTPS の切り分けと、ポートの差を確認してください。

管理者として実行すると直りますか?

URL 予約や証明書登録が絡むため、一時的に改善することはあります。ただし恒久対策として「常に管理者で起動」を前提にするのは避け、修復で正しい状態に戻すのがおすすめです。

最後に:トラブル時のチェックリスト

迷ったら、次の順番で確認すると短時間で結論に近づけます。

優先やること狙い
高IIS Express を修復(Repair)更新後に欠けた構成を再適用して復旧を狙う
高新規プロジェクトで起動確認環境全体の問題か、既存プロジェクト固有かを切り分ける
中HTTP/HTTPS の切り分けHTTPS 側の不整合(証明書/HTTP.sys)かどうか判断する
中.vs フォルダーを退避して再生成ソリューション固有の IIS Express 設定破損を解消する
低netsh で urlacl/sslcert を確認HTTP.sys 側の状態を把握し、次の手を決める材料にする

Windows 11 24H2 更新後に Visual Studio の IIS Express が起動できなくなった場合は、まず IIS Express の修復(Repair)を試すのが最短ルートです。修復で直らない場合も、切り分けの順番を守って確認していけば、原因に近づけます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次