c# - 什么是新的 .Net Native

标签 c# .net roslyn .net-framework-version ryujit

<分区>

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

"Windows Store apps start up to 60% faster with .NET Native and have a much smaller memory footprint. Our first release is a Developer Preview that allows you to develop and test apps with this new compiler. This preview release of .NET Native offers you the performance of C++ with the productivity of C#".

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

最佳答案

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

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

关于c# - 什么是新的 .Net Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22867991/

相关文章:

c# - using和DBContext的使用

c# - 如何将 XslCompiledTransform 的输出获取到 XmlReader 中?

visual-studio - Roslyn 代码重构 VSIX 项目 -- 如何向 VSIX 添加更多内容?

c# - Roslyn/CSharpScript - 如何保存/加载编译以避免编译等待时间

c# - 如何使用 Midi 点网类在 C# 中读取打击乐音符值

c# - 对 Linq Lambda 表达式的 SQL 查询 - 使用组条件连接同一个表

c# - 有没有办法在不知道解码值编码的情况下确定 base64 编码值的长度?

c# - 获取 "The source file is different from when the module was built."

c# - 如何使用 WinUI 3 添加桌面通知?

.net - 为什么 Roslyn 团队将 DocumentationComment 标记为内部