稲枝の押入れ

いなえが適当なことを書いては、しまっておく場所

.NET系の関係に関してメモ

まとめ

.NET Framework.NET Core.NET系のものが幾つかあって、違いってなんだっけ?これはなんだっけ?どういう関係だっけ?と定期的になるのでメモ。

ざっくり結論から書くと

  • .NET Framework : 2002年からある元祖.NET。Windowsアプリ向け開発プラットフォーム。最新はバージョン4.8らしく、Microsoftによって現在もサポートされている。
  • .NET Core : 2014年からある.NET Frameworkクロスプラットフォームかつオープンソースな後継版。バージョンは3.1まである
    • 後継といいつつ性質が少し違う様なので分派っぽい感じもある
  • .NET 5 : .NET Coreの3.1以降の名称から Coreがつかなくなったらしい
    • .NET Core 3.1の次にもかかわらず4ではなく.NET 5なのは.NET Frameworkの最新が4.nなので混同を避ける為
    • また、こうする事で.NET.NET Coreの後継というだけでなく、.NET Frameworkの後継であるという側面もあるそう(実質的な.NETシリーズの統合?)
    • まれに.NET 4.xと言った表記がされることがあるが、この場合.NET Framework 4.xの事を指しているそう(分かり辛い…)
      • 例えばUnityなどではこの表記がされる
    • 単に.NETと書いた場合は.NETシリーズ全般を指すのが一般的なそうなので.NET 5等バージョンを併記するようにすると誤解がないかもしれない
  • .NET Standard : .NETシリーズの APIの正式な仕様。複数の.NET実装間でのコード共有などを想定しているらしく、その際に統一性を確率するために導入されたそう。
    • ただし、.NET 5以降のバージョンではその統一性の確立の為に別のアプローチが採用されている為、基本的には不要らしい。

ソース系

ソースその1

2002 年に、Microsoft によって、Windows アプリを作成するための開発プラットフォームである .NET Framework がリリースされました。 現在、.NET Framework はバージョン 4.8 であり、引き続き Microsoft によって完全サポートされています。

2014 年に、Microsoft によって、.NET Frameworkクロスプラットフォームオープンソースの後継版として .NET Core が導入されました。 この新しい .NET の実装では、バージョン 3.1 までは .NET Core という名前が保持されていました。 .NET Core 3.1 の次のバージョンからは .NET 5 という名前になりました。

新しい .NET バージョンが年に 1 回リリースされ続けており、そのたびにメジャー バージョン番号が大きくなっています。 重要な新機能が含まれ、新しいシナリオが可能になることも多いです。

ソースその2

.NET Standard は、複数の .NET 実装で使用できる .NET API の正式な仕様です。 .NET Standard の背後にある意図は、.NET エコシステムの高度な統一性を確立することでした。 .NET 5 以降のバージョンでは、統一性を確立するための別のアプローチが採用されており、ほとんどのシナリオで .NET Standard が不要になります。 .NET Framework と他の .NET 実装 (.NET Core など) との間でコードを共有する場合は、ライブラリで .NET Standard 2.0 をターゲットとする必要があります。

ソースその3

We’re skipping the version 4 because it would confuse users that are familiar with the .NET Framework, which has been using the 4.x series for a long time. Additionally, we wanted to clearly communicate that .NET 5 is the future for the .NET platform.

We are also taking the opportunity to simplify naming. We thought that if there is only one .NET going forward, we don’t need a clarifying term like “Core”. The shorter name is a simplification and also communicates that .NET 5 has uniform capabilities and behaviors. Feel free to continue to use the “.NET Core” name if you prefer it.

わかりやすいページ
わかりやすいページその2