ASP.NET Core 2.3のサポート終了通知とは?既存アプリへの影響と移行手順

ASP.NET Core 2.3 サポート終了で確認すべき結論はシンプルです。Microsoft が 2026年4月7日に出したのは「終了の告知」で、最新の公式ブログでは終了日が 2027年4月13日 に更新されています。今すぐアプリが止まるわけではありませんが、その日以降はセキュリティ修正、バグ修正、技術サポートが受けられません。既存アプリの所有者は、まず自分のアプリが本当に 2.3 の対象かを確認し、そのうえで「当面の延命」と「現在サポートされる .NET への移行」を分けて進める必要があります。 (Microsoft for Developers)

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

ASP.NET Core 2.3 サポート終了でまず知るべきこと

今回の通知は、.NET Framework 上で使う ASP.NET Core 2.3 パッケージの期限が明確になった という話です。ASP.NET 全体が一斉に終わる話ではありません。 (Microsoft for Developers)

項目要点
告知日2026年4月7日
終了日最新の公式ブログでは 2027年4月13日
対象.NET Framework 上で使う ASP.NET Core 2.3 パッケージの最新パッチ
すでに注意が必要なケースASP.NET Core 2.x を .NET Core 2.x ランタイムで動かしている場合は、既にサポート外
同時に確認すべきものEntity Framework 2.3 パッケージも同日でサポート終了
終了後セキュリティ更新、バグ修正、技術サポートが止まり、パッケージは非推奨扱いになる

※ASP.NET サポートポリシーの一部ページには 2027年4月7日表記が残っていますが、公式ブログでは servicing release cycles に合わせて 2027年4月13日に更新されています。本記事では最新の告知記事を基準にしています。 (Microsoft for Developers)

そもそも ASP.NET Core 2.3 は何か

ここを誤解すると対応を間違えます。ASP.NET Core 2.3 は、.NET Framework 上の既存ユーザーを支援するために、ASP.NET Core 2.1 を 2.3 として再出荷した位置づけです。Microsoft は 2025年の advisory で、2.1 ユーザーには「2.3 は 2.1 と同じコード」、2.2 ユーザーには「2.2 固有の変更への依存を外す必要がある場合がある」と説明しています。つまり 2.3 は長く居座る版ではなく、サポートを維持しながら新しい .NET へ移るための中継地点と見るのが正確です。 (Microsoft for Developers)

自分のアプリが対象かを5分で確認する

影響確認は、ランタイム名ではなく パッケージ参照と target framework を見るのが近道です。たとえば次のような参照があり、net4xx をターゲットにしているなら、今回の通知対象である可能性が高いです。 (Microsoft)

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net472</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.3.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.3.0" />
  </ItemGroup>
</Project>

確認の順番は次の3つで十分です。

  • *.csprojpackages.configDirectory.Packages.propsMicrosoft.AspNetCoreMicrosoft.EntityFrameworkCore の 2.3.x を検索する
  • TargetFrameworknet472 などの net4xx か、netcoreapp2.x かを確認する
  • 実運用の Web サーバー、IIS、公開パイプライン側で使っている SDK / ランタイム / デプロイ方式も一覧化する

見分けに迷う場合は、次の表で切り分けると早いです。

現状サポートの見方優先度やること
ASP.NET Core 2.3 + .NET Framework2027年4月13日まで猶予あり最新 2.3.x を維持しつつ、移行計画を今年中に開始
ASP.NET Core 2.1 + .NET Framework2.3 に置き換え前提2.3 に更新してから本移行へ
ASP.NET Core 2.2 + .NET Frameworkすでにサポート外最優先2.3 への暫定更新、または modern .NET へ直接移行
ASP.NET Core 2.x + .NET Core 2.xすでにサポート外最優先現在サポートされる .NET へ直行
ASP.NET MVC 5 / Web Forms今回の ASP.NET Core 2.3 告知とは別枠個別判断ASP.NET / .NET Framework の別ポリシーを確認

※2.1 / 2.2 / 2.3 の扱いは Microsoft の 2025 advisory と 2026年の終了告知をもとに整理しています。 (Microsoft for Developers)

サポート終了通知が従来アプリの所有者に意味すること

一番大事なのは、動かなくなる より 守られなくなる と理解することです。終了後は新しいセキュリティ更新が出ず、障害時の技術サポートも受けられず、2.3 パッケージは非推奨になります。外部公開 API や認証基盤を抱えるアプリでは、問題が起きてから直すのでは遅い状況が増えます。 (Microsoft for Developers)

また、サポート対象は「最新パッチ適用済みの 2.3 パッケージ」です。.NET のサポートポリシーでも、サポートを維持するには最新パッチの適用が前提とされています。2.3 に残る期間がまだあるとしても、古い 2.3.x を放置する運用は安全ではありません。 (Microsoft for Developers)

さらに、ASP.NET Core 2.3 on .NET Framework のサポートは、基盤となる .NET Framework 側のサポートサイクルとも関係します。アプリの NuGet パッケージだけ見て安心せず、基盤の .NET Framework 側も一緒に点検しておくべきです。 (Microsoft)

対応は「延命」と「本移行」を分ける

まずは延命する

まだ移行設計が固まっていないなら、最初のゴールは「完璧な刷新」ではなく「サポート外から外れる」ことです。.NET Framework 上の 2.1 / 2.2 系は、必要に応じて 2.3 の最新パッチへそろえます。とくに 2.2 は既にサポート外なので最優先です。2.1 から 2.3 なら基本的に同じコードですが、2.2 から 2.3 では 2.2 固有変更への依存を外す確認が必要です。 (Microsoft for Developers)

ただし、ここで止まってはいけません。2.3 への更新はゴールではなく、移行の猶予を作るための手当てです。

本命の移行先を決める

移行先を決めるときは、機能差より サポート残存期間 を先に見ると判断を誤りにくくなります。Microsoft のサポートポリシーでは、LTS は原則3年、STS は2年です。2026年4月時点の supported versions は .NET 10 LTS が 2028年11月まで、.NET 9 STS が 2026年11月まで、.NET 8 LTS も 2026年11月までです。 (マイクロソフト ラーン)

候補向いているケース判断の目安
.NET 10 LTS今から本格移行する、数年運用したい第一候補
.NET 9 STS年次アップグレードを前提に継続改善できる短期運用なら可
.NET 8 LTS既に検証済みライブラリ都合で今すぐ着地したい暫定着地向け

※これから新規に移行を始める案件では、通常は .NET 10 LTS を第一候補にした方が再移行の手戻りを減らせます。ただし、クラウドサービスや依存製品が最新ランタイム未対応なら、ひとつ手前を暫定選択する例外はあります。 (マイクロソフト ラーン)

移行方式も先に決める

技術選定だけでなく、どう移すか も早めに決めるべきです。

方式向いているケース注意点
一括移行小規模、依存が少ない、短い停止が許容できる差分が一度に出やすい
並列増分移行大規模、停止しづらい、周辺連携が多い新旧共存の設計とルーティングが必要

Microsoft のアップグレード ガイダンスでも、複雑な Web アプリでは既存 .NET Framework アプリの横に新しい .NET プロジェクトを置いて段階的に移す増分方式が想定されています。大きいアプリほど「全部まとめて切り替える」より、「機能単位で逃がす」方が失敗しにくいです。 (マイクロソフト ラーン)

移行で詰まりやすいポイント

論点ありがちな失敗先にやること
認証・Cookieログインは通るのに権限やセッションが崩れるログイン、権限制御、期限切れの回帰試験を作る
EF Core / DBクエリ差分や migration 差分を本番で発見する主要クエリと migration を先に検証する
JSON / APIレスポンス形の微差でフロントや連携先が壊れる代表 API のスナップショット比較を行う
IIS / Reverse Proxy本番だけヘッダーや HTTPS まわりが変わるstaging を本番構成に寄せる
CI/CD / Dockerコードは通るのに配布で失敗するSDK、build agent、base image を先に更新する
Data Protection / Sessionデプロイ後に全員ログアウトするキー共有と cookie 互換を確認する

Microsoft もアップグレード前の評価、適切なパス選定、検証を重視しており、ASP.NET Core 9 / 10 には breaking changes の一覧が公開されています。差分確認を「移行後の宿題」にしないことが重要です。 (マイクロソフト ラーン)

ツール選定は2026年の前提で考える

移行支援ツールの前提も変わっています。2026年時点で .NET Upgrade Assistant は公式に非推奨となり、Microsoft は GitHub Copilot モダン化を案内しています。GitHub Copilot モダン化は Visual Studio、Visual Studio Code、Copilot CLI、GitHub.com から使え、評価・計画・実行の3段階で依存関係や互換性を確認し、.github/upgrades にドキュメントを書き出しながら変更を Git コミット単位で進められます。 (マイクロソフト ラーン)

ただし、AI ツールをそのまま本番投入してはいけません。便利なのは「速く進めること」であって、「判断を代行してくれること」ではないからです。生成された評価結果、計画、コミット差分を人が読み、回帰テストと性能確認まで通して初めて移行完了と考えるべきです。 (マイクロソフト ラーン)

いま着手すべき実務タスク

  1. まず、対象リポジトリを棚卸しします。
    アプリ名、担当者、公開有無、認証有無、DB 種別、Microsoft.AspNetCore.* 2.3.x / Microsoft.EntityFrameworkCore.* 2.3.x の有無を一覧化します。
  2. 次に、赤信号のアプリを分けます。
    ASP.NET Core 2.2 + .NET FrameworkASP.NET Core 2.x + .NET Core 2.x は最優先です。2.3 より前に、まずここを可視化しないと優先順位を誤ります。 (Microsoft for Developers)
  3. 当面の延命が必要なら、2.3 の最新パッチへそろえます。
    ただし「2.3 へ上げたから安心」ではありません。期限までの猶予を稼ぐだけだとチームで認識をそろえてください。 (Microsoft for Developers)
  4. 本命の移行先は、原則として .NET 10 LTS を仮置きします。
    例外がある場合だけ、依存ライブラリや運用基盤の制約を理由付きで文書化して .NET 8 などへ落とします。 (マイクロソフト ラーン)
  5. 代表アプリを1本選び、先行移行します。
    小さくても実運用に近いアプリで、認証、DB、API、デプロイまで一通り検証すると、残りの移行見積もりが現実的になります。
  6. 回帰試験の観点を先に固定します。
    とくにログイン、権限、主要 API、ファイルアップロード、バッチ、DB 更新、監視ログは「移行後に見る」ではなく「移行前に観点化」が基本です。

ASP.NET Core 2.3 のサポート終了は、「古いアプリをそろそろ片付けましょう」という曖昧な話ではありません。2026年4月7日に終了が告知され、最新の公式ブログでは 2027年4月13日が終了日とされている、期限つきの最終通告です。対象は .NET Framework 上の 2.3 パッケージで、EF Core 2.3 も同時に見直しが必要です。最初の一歩はコード修正ではなく棚卸しです。対象アプリを洗い出し、必要なら 2.3 最新パッチで猶予を確保しつつ、移行先は原則 .NET 10 LTS を軸に計画を始めてください。 (Microsoft for Developers)

この記事を書いた人

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

コメント

コメントする

目次