メインコンテンツまでスキップ

.NET Frameworkと.NETの比較

.NET Frameworkと.NETは、どちらもMicrosoftが開発したフレームワークですが、いくつかの重要な違いがあります。以下に主な違いをまとめます。

.NET Framework.NET
対応OSWindowsのみクロスプラットフォーム(Windows, Linux, macOS)
サポート期間同梱されているWindowsのバージョンに準ずる(例:Windows Server 2025の場合10年間)LTS:3年、STS:18か月
リリース形態Windowsに統合自由にインストール可能
開発状況メンテナンス(新機能の追加やパフォーマンスの改善は行われておらず、セキュリティや重大な不具合の修正のみ)アクティブ(新機能の追加やパフォーマンスの改善を継続して実施)
コンテナーでの利用Windowsのみ、サイズやリソース消費が大きく、Small container scenarioでの利用が困難WindowsとLinuxが利用可能、軽量、リソース使用量の調整が可能
ソースコード一部のみ公開(https://referencesource.microsoft.com/)オープン ソースとして全体を公開(https://github.com/dotnet)
選択のポイント- クロスプラットフォーム対応が必要な場合
- 最新の機能やパフォーマンスが重要な場合
- コンテナー上での実行が必要な場合
- アップグレードが難しくLTSでもサポート期間の要件を満たさない場合
- 既存の.NET Frameworkアプリケーションで今後変更を予定していない場合

.NETを選択するにあたって基幹システムや業務アプリケーション、産業用アプリケーションで問題となるのは、恐らくサポート期間の短さでしょう。アプリケーションをアップデートする手段がなく、長期のサポートが要求されるようなアプリケーションでは、.NETは候補にも挙がらないかもしれません。

.NETは.NET Frameworkと比べてサポート期間が短いものの、メジャーバージョン間の互換性は非常に高いです。また、一般的に.NET Frameworkに比べて.NETはUpgrade Assistantなどアップグレードを支援するツールが提供されています。アップグレードの難易度や作業ボリュームはプロジェクトの規模や性質によって大きく異なりますが、.NETのバージョンだけであればアップグレードは案外スムーズに出来ることが多いと感じます。ただし、サポートやセキュリティの観点から少なくとも3年の頻度ではアップグレードが必要となるため、アップグレード後の動作確認に備えて自動化されたテストを充実させておくことが重要になるでしょう。