.NETのBCL、PCL、.NET Standard

BCL

https://ja.wikipedia.org/wiki/%E5%9F%BA%E6%9C%AC%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
Base Class Library(基本クラスライブラリ)。
System.* (および限られた範囲の Microsoft.*) 名前空間を構成するライブラリのセット。

PCL

https://docs.microsoft.com/ja-jp/xamarin/cross-platform/app-fundamentals/pcl?tabs=windows
Portable Class Library。
クロスプラットフォームで動作するライブラリ。利用可能な環境の組み合わせをプロファイルと呼び、プロファイルごとに利用できるライブラリ機能が定義されている。
現在は非推奨であり、代わりに .NET Standard ライブラリ を勧められている。

.NET Standard

全ての.NET環境が持つべき機能の定義。
.NET Standardの定義に従ってBCLが実装される。

CJK

https://ja.wikipedia.org/wiki/CJK
https://kuxumarin.hatenablog.com/entry/2017/05/02/Xamarin.iOS_%E3%81%A7_System.NotSupportedException._%E3%81%A3%E3%81%A6%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%81%9F%E3%81%8B%E3%82%89%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F
中国語・日本語・朝鮮語 (Chinese-Japanese-Korean) の略称。

Encoding 932 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

コードページ932=ShiftJISが無いというエラーのときに、CJKをONにしろという記事で知った単語。

.NET ファミリーいろいろ

.NET Framework

Microsoftが製造した非オープンソースの.NET環境及び、そのクラスライブラリ。
Windowsでしか動かない。

MONO / Xamarin

.NET Framework互換の環境をクロスプラットフォームで実現するためのオープンソース実装。
Linuxでも動作する。Android上で.NETのコードを動かす基盤となっているXamarinもMONOの一種。(AndroidもOSは基本的にLinuxなので)
Xamarinは、MonoTouchやMono for Androidの後継である。

.NET Core

MONOより後発の.NETオープンソース実装。
Windowsのための.NET Frameworkと異なり、最初からクロスプラットフォームで動作するようAPIが設計されている。

.NET Standard

「.NET標準API仕様」とでも言うべきもので、.NET実装が最低限持っているべきAPIを定義している仕様。
これは実装ではなく、いわばオブジェクト指向言語インターフェイスのようなもの。
.NET Standard向けに開発したコードはどの実装でも動く(ハズ)。