【翻译】.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下载模块,复用已有的代码,提高工作效率 ...
随机推荐
- 在 n 道题目中挑选一些使得所有人对题目的掌握情况不超过一半。
Snark and Philip are preparing the problemset for the upcoming pre-qualification round for semi-quar ...
- CF55D
题目大意: 定义:beautiful number,一种能整除它的所有非 0 数位的数字. 给你 l 和 r,请求出 [l,r] 中 beautiful number 的个数. 解题思路: 数位 DP ...
- SSH启动Tomcat:The requested resource is not available
原因:请求的资源不可用. 解决方法: (1)单词拼写错误,可能出现在 ——路径名称 ——配置文件名称 ——包名 ——类名 ——文件内的单词 (2)项目里文件的位置错误 (3)SSH相关的类文件里,定义 ...
- Redis学习笔记(十五)Sentinel(哨兵)(中)
上一篇 我们模拟了单机器下哨兵模式的搭建,那么接下来我们看下哨兵模式的实现与工作. 为什么又分成两篇呢?因为篇幅太长(偷懒),再一个这篇主要说的是Sentinel的初始化以及信息交换,下一篇着重说下状 ...
- Java-LinkedList围圈的人名
import java.util.*; public class Example12_7 { public static void main(String[] args) { int m=5; Lin ...
- 如何在npm发布轮子
我们在前端工程开发中通常使用npm这个包管理器来安装各种好用的轮子(当然也有用yarn的),不安分的码工就想,也发布一个试试,哪怕只是一个小时候滚的铁环而不是轮子. 首先,要在 npmjs官网注册自己 ...
- Object类及其equals()方法
== : 1.基本数据类型:根据基本数据类型的值判断是否相等,相等返回true,反之返回false 注意:两端数据类型可以不同, 在不同的情况下,也可以返回true 2.引用数据类型:Object ...
- xxd十六进制编辑器的安装
一.背景:在vi中使用命令:%!xxd无法进行十六进制编辑,为缺少xxd命令所致 二.yum直接安装xxd无法成功[root@ELK ~]# yum install xxd已加载插件:fastestm ...
- ES6-json与字符串的转换
1.ES5下的json 1.1 基本概念 是对象 简写形式,名字跟值(key和value)一样,留一个就行 方法 :function一块删 即show:function(){...}等价于show() ...
- Java 实现 蓝桥杯 生兔子问题
生兔子问题 有一对兔子,从出生后第四个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子.假如兔子都不死,计算第十个月兔子的总数? 分析: 四个月开始生兔子,则:F(N) = f(n-1) ...