.NET標準は、ライブラリ契約のセットです。各バージョンには以前のバージョンのすべての契約が含まれています。したがって、netstandard1.4のすべてがnetstandard1.5にあります。
.NET Coreは、Windows、Linux、OSX上で動作する.NET Standard(およびいくつかの追加機能)の実装です。
最大の問題は、彼らが解決:
- のLinux/MacOSXの上、マイクロソフトが提供/サポートツールチェインとランタイムを持っていません。 WindowsやMono上で.NETベースのサーバーコードを実行できるのは単純ではないと言っていました。
- ポータブルクラスライブラリには、数多くの異なるプロファイルが混在しており、部分的にオーバーラップするAPIサーフェスをターゲットにしています。
特にPCLは、自分自身のようなクラスライブラリの作成者にとっては非常に扱いにくいものでした。ターゲットに一貫したAPIサーフェスを提供するために十分な調整なしに.NETランタイムを異なるデバイスにもたらすための複数の努力があったため、混乱が生じました。
複数のベンダが特定のバージョンの.NET Standardを対象とすることができ、そのバージョン以上を対象とするものは動作するはずです。たとえば、私のNoda Timeライブラリはnetstandard1.3をターゲットにしています。新しい携帯電話ベンダーがまったく新しい種類のアプリケーションで、.NETの全く新しい実装を発表したとしますが、netstandard2.0をサポートしているとします。それでいいのですが、その新しいプラットフォームのユーザーは、Noda Time NuGetパッケージをインストールすることができます(もちろん、実装バグは除いて)、使用できるようになります。プラットフォームが存在することを知る必要はありません。