稲枝の押入れ

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

MonoとC#と.NETのバージョン対応

Monoがサポートする C#/.NET のバージョンについて

UnityではC#スクリプトは Mono と呼ばれる .NET Framework互換の環境を実現するためのものでビルドされているという事がわかりました。 ただ、このバージョンが分かっても言語バージョンや.NETのバージョンがわからないのでどの機能が使えるかが判別出来なかったので表にしてみました。

Monoのバージョン C#のバージョン .NETのバージョン 参考
5.0.0 C# 7 .NET 4.6 https://www.mono-project.com/docs/about-mono/releases/5.0.0/
5.2.0 .NET Standard 2.0の基礎 + .NET 4.7 APIセットを提供する為に参照アセンブリを更新 https://www.mono-project.com/docs/about-mono/releases/5.2.0/
5.4.0 .NET 4.7 の参照アセンブリ追加 https://www.mono-project.com/docs/about-mono/releases/5.2.0/
5.10.0 C# 7.2 + C# 7.xのサポート拡張 .NET 4.7.1 https://www.mono-project.com/docs/about-mono/releases/5.10.0/
5.14.0 C# 7.x のサポートの拡張 https://www.mono-project.com/docs/about-mono/releases/5.14.0/
5.16.0 C# 7.3 + C# 7.xのサポート拡張 https://www.mono-project.com/docs/about-mono/releases/5.16.0/
5.18.0 .NET Framework 4.7.2 の参照アセンブリ追加 https://www.mono-project.com/docs/about-mono/releases/5.16.0/
6.0.0 C# 8 RC https://www.mono-project.com/docs/about-mono/releases/6.0.0/
6.4.0 C# 8 .NET Standard 2.1 https://www.mono-project.com/docs/about-mono/releases/6.4.0/
6.6.0 .NET 4.8 の参照アセンブリ追加 https://www.mono-project.com/docs/about-mono/releases/6.6.0/

MonoとRoslynのバージョンの対応について

上記表はRelease Noteからがんばって情報を拾ったものだが、一応公式にコンパイラ(Roslyn)とMonoのバージョンの関係を表にしてくれていた。

www.mono-project.com

ちなみに

csc のバージョンは、C# のバージョンから5引いたくらいの数字になっています

ufcpp.net

だそう。