【.com速译】在最近推出的VisualStudio2019中,微软为.NETCore3.0定义了大量的新特性和亮点。虽然.NETCore3.0正式版要到今年晚些时候才会发布,但是我们已经可以在VisualStudio2019的各个评论区一窥究竟。因此,作为开发者和设计者,我们有必要了解一下通过试用它与以前版本的不同之处。总的来说,微软的.NETCore3具有三个主要特性,分别是:桌面工作负载和UI互操作性。人工智能和机器学习。提高Web和云应用程序开发的效率。在过去的几年里,随着微软不断推动Core的完善和扩展,如今的.NETCore3.0相比其1.0和2.0版本更侧重于云服务和Web应用的开发。目前,用户可以选择WinForms和WPF(WindowsPresentationFoundation)来实现桌面级应用程序;使用RaspberryPi和小工具来实现各种物联网(IoT)应用程序;并使用ML.NET(译者注):是为.NET开发人员生成的开源机器学习框架),释放各种机器学习(ML)和人工智能(AI)的潜力。.NETCore3.0的主要特性。.NETCore的构建环境包括各种约定俗成的语言规范来表示框架类库(FrameworkClassLibrary)的使用,进而收集可重用的资产和公共语言运行时(CommonLanguageRuntime)。每个开源平台因此,无论何时发布新版本的Core,您都可以随时更新一台计算机,而不会对不同的应用程序产生任何影响。接下来我们来讨论一下新版本的具体特点:C#8.NETCore3.0可以广泛支持C#8。C#8的主要新特性包括:可空引用类型、各种异步流(Asyncstreams)、范围和文件以及不同的Switch表达式。使用声明这是使对象在范围内保持活动状态以便正确丢弃它们的另一种方法。也就是说,一旦超出作用域,对象自然会被丢弃。解析和调度修复准确解析和格式化负零。准确舍入和解析任意长度的输入。通过执行不区分大小写的检查并在前端允许可选的+(如果适用)来有效地解析Infinity和NaN。EEE浮点增强根据IEEE754-2008的修订内容,.NetCore3.0同意并更新了各种浮点API。它通告每个“必需的”操作并确保它们的行为符合IEEE规范。更多BCL改进.NETCore2.1中提供的Span、Memory和其他类型将在.NETCore3.0中得到改进。这样,可以高效地执行诸如生成、格式化、解析和切片等常规操作。事实上,像字符串(String)这样的类型已经表现出不同程度的改进。它们兼容DictionaryThreadPool.UnsafeQueueWorkItem内置HttpClientBrotli支持Unsafe.Unbox复杂算术运算符CancellationToken.UnregisterStringBuilder.GetChunksSocketAPIRandomNumberGenerator.GetInt32.IPEndPoint以TCPkeep-alive状态解析当前浏览器和多媒体控件。NET桌面应用程序开发可以使用WindowsMediaPlayer和InternetExplorer来演示HTML页面和播放富媒体文档。因此,客户可以采用MicrosoftEdge和媒体播放器来支持最新的各种操作指南。分层编译在.NETCore3.0中,分层编译被设置为默认选项。在运行时,它可以更有适应性地利用即时(JIT)编译器来提供更好的性能和更高的负载。Windows桌面应用程序用户可以使用.NETCore3.0WindowsForms和WPF来组装Windows桌面应用程序。.NETCore3.0还支持使用来自WindowsUIXAML库(WinUI)的新型控件和传统样式。此外,Windows桌面组件是Windows.NETCore3.0SDK的一部分。Encryption.NETCore3.0包括AES-CCM和AES-GCM密码算法,可以通过System.Security.Cryptography.AesGcm和System.Security.Cryptography.AesCcm实现。同时,这些复杂的算法都使用了关联数据和认证加密(AEAD)。Windows原生互操作性.NETCore3.0以C语言API、WinRT和COM的形式提供了丰富的Windows原生API。同时.NETCore3.0还支持各种ActivateWinRTAPIs和CoCreateCOMAPIs。Windows桌面的MSIX部署MSIX可用于将.NETCore3.0桌面级应用程序交付到Windows10。Windows应用程序打包项目(ApplicationPackagingProject)使您能够使用独立的.NETCore应用程序来创建MSIX包。快速隐式JSON支持新的隐式JSON支持不仅具有低内存分配和高性能的特点,而且基于Span。.NETCore3.0已经在其命名空间中包含了三种与JSON相关的原始类型。程序集卸载从API的角度来看,.NETCore3.0的新AssemblyLoadContext功能在很大程度上是透明的,只有少数新API发现它。它不仅支持卸载加载程序的上下文,还释放实例化类型、静态字段和程序集本身的所有内存。这样,应用程序就可以自由堆叠或清除拥塞,而不会出现任何内存溢出。平台支持.NetCore3可广泛支持以下操作系统:WindowsServer:2012R2SP1+Windowsdesktop:7,8.1,10(1607+)RHEL:6+macOS:10.12+Ubuntu:16.04+Fedora:26+SLES:12+Debian:9+Alpine:3.8+openSUSE:42.3+原标题:WhatIsNewin.NETCore3.0?,作者:NishaPatel】
