Blogブログ

.NETについて本気出して考えてみた

こんにちは。最近、近所のカラスの鳴き声がなかやまきんに君の声に聞こえて仕方がない筑紫です。

最近、色々あって.NET関係の事を調べる機会があったので、自分なりにまとめてみました。

今まであまり深く考えることは無かったのですが、まずはそもそも.NETって何やねん?というところを理解しておこうと思いまして。はい。

というわけで、.NETをひと言で言うなら、、

【.NET】
主にMicrosoft .NET Frameworkマイクロソフト ドットネット フレームワーク)というアプリケーション、または開発環境を指す。
WindowsのシステムやWebサービスなどの開発に利用される、わかりやすく言えばプログラムの土台、というか共通部品みたいなもの。
エンジニア以外の方は触れることはあまりないと思われるが、これに依存するアプリも多く存在し、うっかり削除してしまうと動かなくなるプログラムも多々あるので気をつけましょう。

と、こんな感じでしょうか。(全然ひと言じゃなかった)

そして.NETは、現状は下記のように大きく分けて4種類に分かれています。

  • .NET Framework2.0/3.0/3.5系
  • .NET Framework4系(4.5、4.6、4.7、4.8等)
  • .NET Core
  • .NET 5以降

なんだかややこしくなってきましたが、これらの違いについてざっくりとご紹介します。

.NET Frameworkと.NET(Core)の違い

どちらも、Visual Studioによる開発に対応したフレームワークではありますが、それぞれ対応プラットフォームが異なります。

まず.NET Frameworkについて。

こちらはWindowsのみに対応しており、Windows7以降のOSにはデフォルトで搭載されてます。

バージョンによってOSとの依存関係が異なり、2.0/3.0/3.5系と4系はそれぞれ独立しているため同一のOS内で共存が可能ですが、2.0/3.0/3.5系の場合は包括インストール、4系は置換えインストールと若干の違いがあります。

例えば3.5をインストールすると2.0や3.0も同時にインストールされますが、4系はバージョンアップの際に下位バージョンがアンインストールされる形になります。

最新バージョンは4.8で、こちらが最終リリースとなりました。

次に.NET(Core)について。

.NET Frameworkの後継として、.NET Coreがリリース。こちらはオープンソースかつマルチプラットフォームに対応しており、Windows以外にも、macOSやLinuxでも動作します。

.NET Coreが3.1でリリース終了し、その後継として名称を改められたものが.NET 5、以後6、7と続きます。(4はスキップされました)

.NET Core以降はバージョンごとに完全に独立しているので、同一OS内でもそれぞれ共存可能です。

サポート期間の違いについて

サポート期間にもそれぞれ違いがあります。

.NET Frameworkは、プレインストールされたOSのサポート期限まで保証されるという事になっています。

.NET Framework 4.8はWindows Server 2022にプレインストールされているので、少なくともWindows Server 2022のサポート期限(2031/10/14)までは保証されるとの事です。
※次期OSにもプレインストールされた場合はさらに延長(延命?)

.NETの場合はCurrent版、LTS版(LongTermSupport:長期サポート)の2種類が存在し、Current版は新バージョンのリリースから3か月、LTS版はリリースから3年間がサポート期限です。

.NET Coreが3.1はLTS版のためリリース(2019/12/03)から3年後なので今年の12月にはサポート終了となりますね。

そして.NET 5以降は奇数番のバージョンがCurrent版、偶数番がLTS版になります。

一応、バージョンごとに期限が設定されていますが、.NET自体はアップデートを繰り返すことで永続的に利用できる形になっています。

あー、ややこしい。

サポート切れのフレームワークを使用することは、当然不具合や脆弱性を抱えるリスクが伴います。
可能であれば.NETへ移行したいところですが、クライアントの環境によっては古いバージョンで運用せざるを得なかったり等、なかなか悩ましいところですよね。。

それでは、また~

筑紫

執筆者

Developer

筑紫