这篇文章是关于什么是。NET原生语言。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。
什么是.NET Native?。NET Native是一个预编译工具,用于在Visual Studio 2015中编译通用Windows(UWP)应用程序。它可以将托管的中间语言二进制文件编译成本地二进制文件,每个托管的通用Windows应用程序都将受益于这项新技术。在安装到用户设备上之前,应用程序会自动编译成本机代码。其工作机制详见MSDN。
.NET Native会带来什么?
根据不同的情况,所带来的好处。NET原生是多种多样的。然而,在大多数情况下。NET Native将使应用程序启动更快,运行更好,占用用户系统资源更少。具体优势如下:
冷启动效率提高60%
热启动效率提高了40%
在本机编译期间,应用程序占用的内存资源较少。
没有必要安装桌面。NET运行时。
因为应用程序是在本地编译的,所以可以利用本机代码的优势来提高性能。
可以使用行业领先的C#或VB及其编程语言工具。
提供全面一致的。NET编程模型,包括扩展API、内置内存管理、异常处理等。撰写商业模式所需。
Debug和Release两种编译模式的差异
的编译过程。NET Native非常复杂,比传统的要花一点时间。NET编译。上面提到的优点牺牲了一部分编译时间。Visual Studio在编译应用程序时会提醒开发者这一点,从而保证良好的开发体验。
当使用调试编译模式时,应用程序运行中间语言代码。NET系统组件不与应用程序代码打包,应用程序需要依赖微软。NET。核心运行时包。这意味着开发者可以享受到最好的开发体验。编译和配置非常迅速,有丰富的调试和诊断信息,所有熟悉的工具都可以在中使用。NET开发。
对于发布模式,应用程序将使用。NET原生工具链。因为包被编译成本地二进制文件,所以它不再需要包含。NET框架库。此外,软件包取决于新安装的。NET本机运行时,而不是CoreCLR包。设备上的. NET本机运行时始终与应用程序包兼容。
通过版本的本地编译,可以在模拟用户使用的环境中测试应用程序。在应用程序开发过程中,定期测试非常重要,它可以确保发现和修改与。NET原生编译器。在大多数情况下。NET Native编译器会正常工作,但在少数情况下,可能不会那么流畅。例如,超过4维的数组可能会导致错误。最后,用户获得由编译的应用程序。NET Native,所以最好在开发过程中测试应用程序的版本,确认无误后再发布。
此外,应该补充的是。NET原生取消跨平台编译模式。本机编译在体系结构上是独立的,因此跨平台编译不再有用。另一个结果是,当开发人员打包应用程序时,他们需要选择所有三种架构配置(x86、x64和ARM),以确保应用程序与所有设备兼容。NET Native改变了发送布袋的方式,这是工作流程的最后一次重大改变。的主要特征。NET Native是编译器可以放在云中。在Visual Studio中编译应用程序包时,将创建两个包,一个是。appxupload文件,另一个是“test”。用于侧面加载的appx文件。appxupload包含MSIL二进制文件和版本信息。NET应用程序使用的原生工具链(也记录在AppxManifest.xml文件中)。编译后的包被放入应用程序存储区,然后由相同版本的编译。NET原生工具链。因为编译器放在云中,开发人员可以重复修改程序缺陷,而无需在本地重新编译应用程序。
这一变化给开发人员工作流程带来了另外两个变化。首先,开发人员不能修改应用程序包的第四个版本号,因为应用程序存储需要通过修改版本号来标记云中的每个编译。不过开发者也可以修改另外三个版本号,所以不用太担心。第二,开发者要特别注意上传到app store的包。商店代替开发人员进行原生编译,所以开发人员无法上传本地生成的原生二进制文件。NET原生编译器。在这方面,Visual Studio将帮助开发人员选择正确的文件。
综上所述,带来的主要变化。NET原生语言如下:
使用发布模式定期测试开发的应用程序。
确保修订包编号为0(Visual Studio不允许修改,并且不要使用文本编辑器来修改)
只上传。将包创建到存储时生成的appxupload文件。如果你上传了。普通Windows平台的appx文件,应用商店会拒绝并报错。
使用.NET Native的其他小技巧
如果开发商怀疑。NET Native造成了一些错误,他们可以尝试通过以下方式来解决。因为默认情况下,发布模式会优化代码,这将丢失调试模式所需的一些生成文件,所以在发布模式下调试时可能会出错。开发人员可以创建一个新的自定义模式来使用。NET原生工具链,无需优化代码。详情可以在这里找到。
避免与有关的错误无疑是更好的选择。NET原生语言。Microsoft.NET本地人。如果遇到代码和之间的冲突,Analyzer将发出警告。NET原生语言。
感谢阅读!这篇关于“是什么。NET Native”在这里分享,希望。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/148269.html