简体   繁体   中英

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

Unity uses Mono in order to achieve multi-platform compatibility. Because of that it wouldn't make sense to use .NET 4.0 or higher, since Mono does not support them either.

However Mono does support 3.5, in fact it supports most of its features , so I wonder, why does Unity still use version of .NET that is almost a decade old.

I understand that most if not all developers prefer stability and familiarity over cutting edge. I would just like to know what are possible reasons for this decision. Especially since later .NET versions introduced several very nice features. Compatibility reference for Unity.

According to this site it has to do with the support of other computers. Most computers will be able to run .NET 2.0 but not 3.5. It also runs C# 4, I believe, 5, but definitely not C# 6. For some reason, they're kind of behind on things. I think its because there's little benefit of doing upgrading everything.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM