【翻译】.NET 5 Preview5发布
今天,发布了.NET 5.0 Preview5。主要对它进行了一小部分新功能和性能的改进。.NET 5.0 Preview 4包含了一些计划和.NET 5.0要交付的内容。
现在,大多数的功能都已经包含在里面,但是有许多功能还未到完成的状态。预计这个版本在Preview 7中完善。
可以下载适用于Windows,macOS和Linux的.NET 5.0 Preview 5:
ASP.NET Core和EF Core也在今天发布了
我们需要使用Visual Studio 2019 16.7才能使用.NET 5.0。 安装最新版本的C#扩展,以将.NET 5.0与Visual Studio Code结合使用。 Mac的Visual Studio尚不支持.NET 5.0。
发布说明:
RyuJIT改进
对RyuJIT JIT编译器进行了以下改进
- 新的、更快的、可移植的tailcall helper实现。
- ARM64硬件内部物理的实现进程
- 在影响正则表达式编译的情况下改进了JIT的速度
- 使用新的硬件特性BSF/BSR改进英特尔架构性能
- 实现Vector{Size}.AllBitsSet
Native exports
曾要求为导出本机二进制文件启用导出功能,这些功能已在很长一段时间内调用.NET代码。 这是一个很好的方案,现在通过.NET 5.0启用它。 该功能的构建块是托管对UnmanagedCallersOnlyAttribute的API支持。
这个功能是创建更高级别体验的基础。 团队的Aaron Robinson一直在从事.NET Native Exports项目,该项目为将.NET组件作为本机库发布提供了更完整的体验。 目前正在寻求有关此功能的反馈,以帮助我们确定该方法是否应包含在产品中。
.NET本地导出项目使我们能够:
- 公开自定义的 native exports。
- 不需要像COM这样的高级互操作技术。
- 跨平台工作
现有的项目可以实现类似的方案,例如:
[重大变化]删除.NET 5.0中内置的WinRT支持
注意:这个变化将出现在预览6中。这是一个早期的通知。
Windows Runtime(WinRT)是Windows中公开使用的新API的技术和ABI。 您可以通过.NET代码调用这些API,类似于使用C ++的方法。 在.NET Core 3.0中添加了对WinRT interop的支持,这是对Windows桌面客户端框架(Windows Forms和WPF)添加支持的一部分。
最近,一直在与Windows团队紧密合作,以更改和改进WinRT interop与.NET的协作方式。 我们已用Windows团队在.NET 5.0中提供的C#/WinRT工具链替换了内置的WinRT支持。 WinRT互操作中的此更改是一项重大更改,使用WinRT的.NET Core 3.x应用将需要重新编译。 我们将在即将来临的预览中提供更多信息。
在.NET 5中的支持WinRT API中明确指出了这些好处:
- WinRT互操作可以独立于.NET runtime进行开发和改进。
- 使WinRT互操作与为其他操作系统(如iOS和Android)提供的互操作系统对称。
- 可以利用许多其他。net特性(AOT, c#特性, IL linking)。
- 简化.NET运行时代码库(删除6万行代码)。
将System.DirectoryServices.Protocols扩展到Linux和macOS
添加对System.DirectoryServices.Protocols的跨平台支持。 在Preview 5中,添加了对Linux的支持,并在Preview 6中添加了对macOS的支持。对Windows支持已经存在。
System.DirectoryServices.Protocols是比System.DirectoryServices更低级别的API,并且启用更多方案。 System.DirectoryServices包含仅适用Windows的概念/实现,因此制作跨平台并不是一个很容易的事情。
这两个API都支持对目录服务服务器(如LDAP或Active Directory)进行控制和交互。
Alpine 3.12
本周,增加了对Alpine 3.12,.NET Core 3.1和.NET 5的支持。 Alpine Linux的维护者于5月29日宣布发布Alpine 3.12。 与过去相比,以更快,更可预测的方式增加对新Linux发行版的支持。
会发现他们已经开始使用一种新的发布模型来发布新发行版的问题。 这就是我们对Alpine 3.12所做的。 将来,我们计划更早地发布这些问题。 例如,需要跟踪的下一个发行版可能是Ubuntu 20.10。 尚未决定,但可能会在7月或8月发布该发行版的类似问题,以准备10月发行的新Ubuntu版本。
最后
感谢大家对.NET 5.0预览版的反馈以及您的早期反馈。 正如文章的简介中所建议的那样,现在才发布大约一半。 现在包括了大多数功能,但是我们希望在接下来的几个预览中会进行许多更改,以完成体验并消除仍然存在的粗糙边缘。
【翻译】.NET 5 Preview5发布的更多相关文章
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.6——签署发布apk
问题: 为了将APK发布到google市场,需要对APK数字签名. 解决方案: 可以使用java的keytoll命令去创建一个证书,并且在gradle配置文件的signingConfigs块使用. 讨 ...
- easyui源码翻译1.32--accordion(手风琴)
前言 前几天加班比较忙 未能及时更新翻译的 今天多发布几篇..下载该插件翻译源码 Accordion 分类空间允许用户使用多面板,但在同一时间只会显示一个.每个面板都内建支持展开和折叠功能.点击一个面 ...
- easyui源码翻译1.32--Calendar(日历)
前言 前几天加班比较忙 未能及时更新翻译的 今天多发布几篇..下载该插件翻译源码 日历控件显示一个月的日历,允许用户选择日期和移动到下一个或上一个月.默认情况下,一周的第一天是周日.它可以通过设置'f ...
- 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多
一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 1.从社区的角度:把针对某一特定 ...
- AI翻译离无障碍交流有多远
AI翻译服务通过硬件.软件连接千千万万个应用场景,会打破语言不通的尴尬局面吗?会是人工翻译的终结者吗? 世界这么大,我想去看看!十一长假临近,梦想中的你背起行囊,自由行走在异国的大街小巷.然而现实的画 ...
- vue-cli 3.x 开发插件并发布到 npm
为了摆脱咸鱼的身份,我给自己定了一个开源项目的目标 于是抽空写了一个 textarea,打算发布到 npm 的时候却遇到了问题 之前用 vue-cli 2.x 的时候,打包配置项非常透明,可以很容易的 ...
- 【npm】利用npm安装/删除/发布/更新/撤销发布包
什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 1.从社区的角度:把针对某一特定问题 ...
- 利用npm安装/删除/发布/更新/撤销发布包
利用npm安装/删除/发布/更新/撤销发布包 什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 ...
随机推荐
- Vue Element-UI使用第三方icon图标(转)
转载自:https://www.jianshu.com/p/59dd28f0b9c9 1.打开阿里icon,注册 >登录>图标管理>我的项目 2.新建项目 3. 添加icon到项 ...
- python3.x 基础一:str字符串方法
*字符串不能更改值 数据类型字符串str | capitalize(...) 返回字符串中第一个字母大写 | S.capitalize() -> str | | ...
- python基本数据类型;字符串及其方法三:
###################判断类型################### ######################################################### ...
- hdu6090 菊花图
Rikka with Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 读Pyqt4教程,带你入门Pyqt4 _002
在这节教程中,我们将创建菜单和工具栏. QMainWindow 类提供应用程序主窗口,可以创建一个经典的拥有状态栏.工具栏和菜单栏的应用程序骨架. 菜单栏 菜单栏是GUI应用程序最明显的部分之一,这是 ...
- [Objective-C] 017_UI篇_UIView(中)
在上篇我们简单讲了UIView的坐标与几何结构,这篇我们来实战UIView一下.UIView在App中有着绝对重要的地位,因为可视化控件几乎都是UIView的子类.在App负责渲染区域的内容,并且响应 ...
- Java IO(一)概述
Java IO(一)概述 一.IO概述 (一).介绍 在Java中,所有的数据都是通过流读写的,Java提供了IO来处理设备之间的数据传输,Java程序中,对于数据的输入/输出操作 都是以“流”的方式 ...
- MVC案例之模糊查询与删除
查询操作: Servlet //1. 调用 CustomerDAO 的 getAll() 得到 Customer 的集合 List<Customer> customers ...
- 慕零的黑夜-头条-第一期(必问)[导读:]1.CSDN必问赏金流向何方 2.CSDN必问偷偷做的手脚 3.CSDN必问靠谱吗 4.关于钱于回答的平衡问题:一美元拍卖骗局 作者:qq3461896724
本期是关于CSDN 必问 (biwen.csdn.net)的内容,欢迎评论 文末,文中插入有 小姐姐 img(附py代码,1.49G) + coding资料 哟~~~ 你看到这篇很可能是在提问.推荐加 ...
- VNC远程控制,如何使用VNC远程控制来管理公司?
VNC是功能强大的远程操作软件,可以实现日常的远程连接操作:如果稍加利用,可以实现公司的日常管理:既能够节省自身的时间,还可高效的完成这个功能! 我们可以使用:服务器管理工具来进行相关的操作 一.首先 ...