MS_DotNetFramework - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

.NET Framework

概要

コチラを参照。

補足(原文が転送のみのため、要点を補う): 本ページは元 Wiki では
.NET開発 への転送 1 行のみだった。
ここでは、.NET Core 系との対比という観点で要点を補う。

位置づけ

.NET Framework は 2002 年から続く Windows 専用の .NET 実装
.NET Core → .NET 5 以降という新系列とは別系統であり、
両者は並行して存在する。

【旧系列】.NET Framework 1.0 … 4.8 / 4.8.1 ← ここで打ち止め
           Windows 専用。OS に同梱されインプレース更新される

【新系列】.NET Core 1.0 … 3.1 → .NET 5 → 6 → 7 → 8 → 9 → 10
           クロスプラットフォーム。アプリごとにランタイムを選べる

.NET Framework 4.8.1 が最終版であり、新機能は追加されない
ただし Windows のライフサイクルに従ってサポートは継続される
(「サポート終了日は未定」= Windows がある限り動く)。

何が違うのか

.NET Framework .NET(Core 系)
対応 OS Windows のみ Windows / Linux / macOS
配置 OS にインストール(マシン共有) アプリに同梱も可(自己完結)
併存 4.x はインプレース更新(1 つだけ) 複数バージョンが並存できる
更新 セキュリティ修正のみ 年 1 回のメジャー更新
性能 世代ごとに大幅改善
Windows 固有 API フル(COM、WCF サーバー、Remoting、GDI+) 一部のみ(Windows Desktop Packs で WinForms/WPF は対応)

なぜ今も使われるのか

.NET 8への移行 でも述べられているとおり、
.NET Framework 4.8.x は実質「SI 向け .NET」として残ると見られる。

  • 既存資産・レガシーシステムの圧倒的な蓄積
  • Windows 固有機能への強依存
    Windows 認証AD、COM、GDI+、WinForms/WPF)
  • Microsoft が継続サポートの方針

逆に言えば、新規開発で .NET Framework を選ぶ理由はほぼ無い

移行の判断

移行するかどうかは、次のもので決まることが多い。

依存しているもの 移行の可否
ASP.NET Web Forms 移行先が無い(Blazor 等へ作り直し)
WCF サーバー 標準では移行不可(CoreWCF という選択肢はある)
.NET Remoting、AppDomain 廃止。設計変更が必要
WinForms / WPF 移行可(Windows 限定のまま)
ASP.NET MVC / Web API 移行可(ASP.NET Core へ書き換え)
クラスライブラリ 概ね移行可

詳細は .NETバージョンアップ
.NET Coreへの移行 を参照。

参考

Microsoft Learn


Tags: 移行, .NET開発

⚠️ **GitHub.com Fallback** ⚠️