Mono 4.0 伴随着C# 6发布

来源:互联网 发布:excel去重复数据计数 编辑:程序博客网 时间:2024/06/08 03:12

Mono 4.0 伴随着C# 6发布

        Mono 4.0这个月正式发布。这是微软CoreCLR项目中包含开源代码的第一个版本。它也是C# 6默认的,意味着Mono再一次比微软提前拥有一个新的C#编译器的RTM版本。
        除了我们之前报道过的功能和变化,Mono 4被认为拥有“更轻的调试器负载”和“基本PowerPC64 LE支持”。这次并不提供这些功能的一些特别细节。
        许多人在问,既然微软现在正做自己的开源,跨平台CLR,为什么Mono项目应该继续呢。Mono贡献者和reddit用户_alexrp_解释道:
        我认为人们对于整个Mono/CoreCLR局势理解有错。为什么一个VM变得开源并移植到其他操作系统就意味着另一个VMI不能存在?就好像说,只能有一个Python应用或者一个JVM似的。这不是个好事。竞争是有益的。
        Mono刚好有许多CoreCLR不具有的功能:LLVM,完全的AOT,NaCl,软中断,跨虚拟机的垃圾回收桥接,不一样的分析模块等等。Mono的启动时间和运行时内存占用空间也针对CoreCLR甚至没有(至少现在是)面向的平台/设备也优化了。OTOH,CoreCLR拥有更加成熟的垃圾回收和普遍更好的代码生成(因此更慢的启动时间)。这两个虚拟机擅长不同的事情,并且没有理由这两个不能共存。
        并不是说我们坚持在其中一个上面保留我们的代码。我们很乐意转向CoreCLR/reference源代码,如果这样做有明显的好处的话(更少维护,更正确,仍然足够可移植性)。我们已经导入许多引用源代码,并且我们也导入CoreCLR VMI的某些部分:
        https://github.com/mono/mono/blob/master/mono/metadata/decimal-ms.c
        https://github.com/mono/mono/blob/master/mono/metadata/threadpool-ms.c

        4.0的发布也不是完全没有瑕疵。Reddit用户whatsinashagbox写道,        
        现在我也不是很确定如何处理它,因为我有一个app,它有一些第三方dll,似乎需要10.0.0.0版本的Microsoft.VisualBasic.dll,并且在mono 4下面不能运行。发布通告似乎暗示着有一个方法使用.NET 4.5程序集,但是我不知道如何做到。有谁知道如何使用新的mono版本吗?
        目前正在研究这个问题,似乎是个“小事故”。
1 0
原创粉丝点击