什么是新的.Net Native

今天我读了一篇关于MSDN上新的.Net Native的文章。

“使用.NET Native,Windows Store应用程序的启动速度提高了60%,并且内存占用空间更小。我们的第一个版本是开发人员预览版,允许您使用这个新编译器开发和测试应用程序。此.NET预览版提供你用C#的生产力来表现C ++“。

当然,这真的很有趣但是如果.Net Native是一个新的编译器,它提供了良好的性能,那么为什么我们需要去RyuJIT。 什么是这个新的.Net Native? 新的.Net Native和RyuJIT之间的区别是什么,微软发布的编译器也称为Roslyn。 那么Roslyn如何支持这个新的.Net Native。

.NET Native不是Roslyn项目的一部分。 Roslyn是C#和VB编译器和语言服务的重新实现。 请记住,这些编译器生成托管程序集 为了运行,必须将它们转换为特定于平台的代码。 这通常通过.NET运行时中的JIT编译器完成。

.NET Native允许您将.NET项目转换为与NGEN类似的本机二进制文件,但有一些重要的区别。 .NET Native使用与NGEN不同的本机编译器部分,通常可以生成更快,更小的代码。 它还允许一种静态链接,这种链接不适用于常规.NET应用程序。