【翻译】.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下载模块,复用已有的代码,提高工作效率 ...
随机推荐
- Mysql之Linux中mariadb主从复制
master主机mysql安装配置 1.下载mariadb(Centos7开始mysql的名字) (1)其它方式(不推荐):rpm安装/软件源安装 (2)yum安装(推荐): ①centos官方的yu ...
- nginx配置之站点服务请求功能配置
站点服务请求功能配置:html/ nginx.conf中的http{}中的server{}: server { listen 85; server_name localhost; #charset k ...
- 限制某个顶点度数的最小生成树 poj1639
Picnic Planning Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 10642 Accepted: 3862 ...
- 【Redis】linux中 使用yum下载并安装redis
1.检查是否有redis yum 源 yum install redis 2.下载fedora的epel仓库 yum install epel-release 3.安装redis数据库 yum ins ...
- 【Java_SSM】(一)maven环境变量的配置
这篇博文我们介绍一下配置一下maven环境变量的配置. 准备工作 在eclipse配置maven之前需要我们做好准备工作,如下: 1. 安装jdk 2. 已下载好 maven,将maven配置成功 , ...
- hide handkerchief(hdu2104)
思考:这种找手绢就是,在判断是否互质.用辗转相除法(用来求最大公约数:a)进行判断.r=a%b;a=b;b=r;循环限制条件:除数b=0是结束除法.如果这时被除数a=1,则表示两个互质. #inclu ...
- scipy.sparse的一些整理
一.scipy.sparse中七种稀疏矩阵类型 1.bsr_matrix:分块压缩稀疏行格式 介绍 BSR矩阵中的inptr列表的第i个元素与i+1个元素是储存第i行的数据的列索引以及数据的区间索引, ...
- pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值.
- CF652E Pursuit For Aritifacts
题目传送门 这是一道很好的练习强联通的题目. 首先,从题中可以看到,题目的要求就是要我们求出从起点到终点是否可以经过flag = 1 的边. 由于是无向图,且要求很多,直接暴力dfs会很凌乱. 那么, ...
- [Wireshark]_002_玩转数据包
通过前一篇文章,我们大概了解了Wireshark,现在可以准备好进行数据包的捕获和分析了.这一片我们将讲到如何使用捕获文件,分析数据包以及时间格式显示等. 1.使用捕获文件 进行数据包分析时,其实很大 ...