为什么Unity在Mono支持.NET 3.5时使用.NET 2.0?

Unity使用Mono以实现多平台兼容性。 因此,使用.NET 4.0或更高版本是没有意义的,因为Mono也不支持它们。

但Mono确实支持3.5,实际上它支持大多数function,所以我想,为什么Unity仍然使用近十年前的.NET版本。

据我所知,大多数(如果不是所有)开发人员都更喜欢稳定性和熟悉度。 我想知道这个决定的可能原因是什么。 特别是因为后来.NET版本引入了几个非常好的function。 Unity的兼容性参考。

根据这个网站,它与其他计算机的支持有关。 大多数计算机将能够运行.NET 2.0但不能运行3.5。 它也运行C#4,我相信,5,但绝对不是C#6。出于某种原因,它们有点落后于事物。 我认为这是因为升级所有内容几乎没有什么好处。

.net 2.0和它的子集是apiCompatiblilty,据说它是用于第三方库但你可以在你的代码中使用.net 3.5function,因为你已经声明mono支持它,例如system.linq,虽然有一些限制例如,一些名称空间不可用,例如:system.data,linq在移动平台上也有一些约束http://forum.unity3d.com/threads/to-linq-or-not-to-linq.223887/