【翻译】.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/cli 4.0.5 学习记录
1. Vue CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令.Vue CLI 插件的名字以 @vue/cli-plugin- (内建插件) 或 vue-cli ...
- Spring + Struts + Hibernate 简单封装通用接口
1.BaseDao public interface BaseDao<T> { /** * 获取符合条件的记录数 * @param filter * @param sortName * @ ...
- React的第二种使用方法----脚手架方式
一.React的第二种使用方法-----脚手架 1.前提:Node.js >8.10 2.下载全局脚手架工具 npm i -g create-react-app 3.运行全局脚手架工具,创 ...
- scrapy爬取效率提升配置
增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加.在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100. 降低日志级别 ...
- 王玉兰201771010128《面象对象程序设计(Java)》第九周学习总结
第一部分:理论基础部分总结: 一:(1)异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 常见的几种错误:A:用户输入错误:B:设备错误;硬件出错:C:物理限制:磁盘满了,可用存储空间 ...
- BZOJ1021
转载:http://www.cnblogs.com/Asm-Definer/p/4372749.html 1021: [SHOI2008]Debt 循环的债务 Time Limit: 1 Sec M ...
- Flask搭建个人博客网站(1)—项目规划--李渣渣(lizaza.cn)
Flask搭建个人博客网站(1)—项目规划--李渣渣(lizaza.cn) 发布时间:2020-05-2413次浏览 前言 现在市面上又许多比较成熟的博客平台,例如:CSDN,博客园,新浪博客等!对于 ...
- 工作中遇到的SQL
1.根据a表中的字段col,修改b表中的col UPDATE a INNER JOIN b ON a.id = b.id SET b.col = xx WHERE a.col = xx 2.模糊查询 ...
- 第 7 篇:文章详情的 API 接口
作者:HelloGitHub-追梦人物 一旦我们使用了视图集,并实现了 HTTP 请求对应的 action 方法(对应规则的说明见 使用视图集简化代码),将其在路由器中注册后,django-restf ...
- iOS开发添加新手引导
往往项目中经常出现此类需求 用户通过点击引导按钮可响应页面附带按钮的点击事件. // // gzhGuideView.h // GuideView // // Created by 郭志贺 on 20 ...