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

Why does Unity use .NET 2.0 when Mono supports .NET 3.5?

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

然而 Mono 确实支持 3.5,事实上它支持它的大部分功能,所以我想知道,为什么 Unity 仍然使用将近十年的 .NET 版本。

我知道大多数(如果不是全部)开发人员更喜欢稳定性和熟悉度而不是尖端技术。我只想知道做出这个决定的可能原因是什么。特别是后来的 .NET 版本引入了几个非常好的功能。 Compatibility reference for Unity.

根据this site,这与其他计算机的支持有关。大多数计算机将能够 运行 .NET 2.0 但不能是 3.5。它还 运行s C# 4,我相信,5,但绝对不是 C# 6。出于某种原因,他们有点落后了。我认为这是因为升级所有东西没有什么好处。

.net 2.0 并且它的子集用于 apiCompatiblilty,据说它用于使用第 3 方库,但您可以在代码中使用 .net 3.5 功能,因为您已经声明单声道支持它,例如 system.linq,尽管它有一些限制,例如某些名称空间不可用,例如: system.data , linq 在移动平台上也有一些限制 http://forum.unity3d.com/threads/to-linq-or-not-to-linq.223887/