.NET Core(ドットネット コア)とは、マイクロソフトが開発した、Windows以外のOSでも動く.NETとして2016年に登場した開発・実行プラットフォームです。従来の.NET FrameworkがWindows専用だったのに対し、.NET CoreはWindows・Mac・Linuxで動作し、オープンソースとして公開されました。バージョン3.1まで提供されたのち、後継の「.NET 5」以降に統合され、現在は単に「.NET」と呼ばれています。
現実世界でいえば、特定の電力会社でしか使えなかった家電を、世界中のコンセントで使えるように作り直したもののようなイメージです。従来の.NET FrameworkはWindowsという「特定の環境」でしか動きませんでしたが、.NET Coreはどの環境でも動くように、一から設計し直されました。
.NET Coreが生まれた背景
かつてのサーバーはWindowsが主流の分野も多くありましたが、クラウド時代になると、Linuxサーバーやコンテナ(Docker)でアプリを動かすことが当たり前になりました。Windows専用の.NET Frameworkではこの流れに対応できないため、マイクロソフトはクロスプラットフォームでオープンソースの.NETをゼロから作り直しました。それが.NET Coreです。
.NET Coreの特徴
- クロスプラットフォーム
Windows・Mac・Linuxで動作します。開発はMacで、本番はLinuxサーバーで、といった構成が可能です。 - オープンソース
ソースコードがGitHubで公開されており、誰でも中身を確認したり開発に参加したりできます。 - 高速・軽量
性能を重視して設計し直され、特にWebアプリ(ASP.NET Core)の処理性能が大幅に向上しました。 - クラウド・コンテナと好相性
必要なものだけをまとめて配布できるため、Dockerなどのコンテナ環境で使いやすくなっています。
.NET Framework/.NET Core/.NETの関係
| 名前 | 時期 | 位置づけ |
|---|---|---|
| .NET Framework | 2002年〜 | Windows専用の初代。バージョン4.8で新機能追加は終了 |
| .NET Core | 2016年〜2019年 (1.0〜3.1) |
クロスプラットフォーム版としてゼロから再設計 |
| .NET(5以降) | 2020年〜 | .NET Coreの後継。「Core」が取れて名前が統一され、現在の主流に |
ややこしいのですが、「.NET 5」以降は実質的に.NET Coreの後継バージョンです。バージョン4が飛ばされているのは、.NET Framework 4.xとの混同を避けるためです。現在「.NET Core」という名前を見かけたら、「今の.NETのご先祖様」と理解すればOKです。
.NET Coreを使うときの注意点
.NET Core 3.1以前はすでにサポートが終了しています。これから開発を始める場合や既存アプリを更新する場合は、サポート中の新しい.NET(LTS版など)を選びましょう。また、.NET Framework専用の古いライブラリや技術(Web Formsなど)は.NET Core系に移行できないものもあるため、移行時には確認が必要です。
あわせて知っておきたい用語
- .NET:
現在の名称。.NET Coreの流れを受け継いだプラットフォームです。 - .NET Framework:
Windows専用の初代.NET。現在は保守のみ行われています。 - オープンソース:
ソースコードが公開され、誰でも利用・改良できるソフトウェアの形態です。 - コンテナ:
アプリを動作環境ごとまとめて持ち運ぶ技術。.NET Coreと相性抜群です。 - ASP.NET Core:
.NET Core系のWebアプリ開発フレームワークです。

コメント