.NET 5 和 C#9 /F#5 一起到来, 向实现 .NET 统一迈出了一大步
经过一年多的开发,Microsoft 于北京时间 11 月 11 日(星期三)发布了其 .NET 5软件开发平台,强调平台的统一,并引入了 C# 9 和 F# 5 编程语言,新平台朝着桌面、Web、移动、云和 IoT 目标统一 .NET 开发体验的方向发展。.NET 5被描述为 Microsoft .NET 统一之旅中的第一个版本,它是为了使更多的开发人员群体能够将 .NET 框架代码和应用迁移到 .NET 5。该平台将来自 .NET Framework、.NET Core 和 Mono 的元素组合在一起,为所有现代 .NET 代码创建单个平台。工作已经完成,不过 Xamarin 开发人员还需要在一年内发布 .NET 6.0 时使用 .NET 平台。


.NET 5 可从dotnet.microsoft.com或新发布的 Visual Studio 2019 更新 16.8 得到。.NET 5 中的其他关键功能包括:
- Windows ARM64 支持。
- Windows 桌面开发增强功能。
- 改进了 JSON 序列化器 API。
- 空的引用类型注释。
- Web 和云原生。
- 单个文件应用程序和较小的容器映像。
- 性能提高,gRPC 性能据说超过 Go、C++ Java。
- 全堆栈 .NET 应用与Blazor Web UI 框架,支持 Blazor 服务器和 Blazor WebAssembly,它支持 .NET Core框架库,并在 .NET 5 中跑的更快。
- 新的模型是支持WinRT API的特色,包括调用 API、在两个类型系统之间封送数据以及要跨类型系统或 ABI 边界处理相同的类型的统一。现有的 WinRT 互操作系统已从 .NET 运行时中删除。

同时,C# 9侧重于程序简单性、面向数据的类和更多模式。F# 5是微软函数编程语言的升级,添加了插值字符串和打开类型声明。此外, NET 5 中的ASP.NET Core Web 开发平台还改进了 MVC 模型绑定、Azure AD 身份验证和 SignlR 集线器筛选器和并行集线器调用。
Microsoft 对 .NET 的愿景推荐采用 .NET 5 到 .NET 6" Wave",该"Wave"包括单个 SDK、跨平台本机 UI 和云原生投资。计划要求每年 11 月发布主要 .NET 版本,所有其他版本都是长期支持版本。下一个 LTS 版本是 NET 6.0。将根据需要提供次要版本。
.NET Conf 是由 .NET 社区和 Microsoft 共同组织的为期三天(2020 年 11 月 10 日- 12 日)的免费虚拟开发人员活动。今年.NET 5.0 将在 .NET Conf 2020 上推出!来庆祝一下,了解新版本.NET 。
.NET Conf 从一开始就是一个虚拟活动,今年还是10周年活动,在三天中,我们提供广泛的现场会议选择,以社区和 .NET 团队成员的演讲者为特色。在会议的第二天和第三天之间每天24小时进行直播,因此每个人都可以参与其中,无论他们的时区如何。详细内容参见 https://www.dotnetconf.net/agenda
.NET 5 和 C#9 /F#5 一起到来, 向实现 .NET 统一迈出了一大步的更多相关文章
- 一步一步学Python(1) 基本逻辑控制举例和编码风格规范
(1) 基本逻辑控制举例和编码风格规范 1.while死循环 2.for循环 3.if,elif,else分支判断 4.编码风格(官方建议) 版本:Python3.4 1.while死循环 #func ...
- FineUI v4.0.2 (beta) 发布了!
FineUI v4.0.2 (beta) 已经于 2013-12-15 发布! ================================== 关于FineUI基于 ExtJS 的开源 ASP. ...
- Mysql_以案例为基准之查询
查询数据操作
- 【Java基础 】Java7 NIO Files,Path 操作文件
从Java1.0到1.3,我们在开发需要I/O支持的应用时,要面临以下问题: 没有数据缓冲区或通道的概念,开发人员要编程处理很多底层细节 I/O操作会被阻塞,扩展能力有限 所支持的字符集编码有限,需要 ...
- 回味Python2.7——笔记1
一.基本知识 1.一个值可以同时赋给几个变量: >>> x = y = z = 0 # Zero x, y and z >>> x 0 >>> y ...
- Docker应用:Kubernetes(容器集群)
阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) Docker应用:Kubernetes(容器集群) 前言: 终于出第三篇了,上个月就已 ...
- codestyle 设置问题
参考: https://blog.csdn.net/hugh77/article/details/43268195 使用 4 空格缩进,而非 TAB. 在小缩进(可以嵌套更深)和大缩进(更易读)之间, ...
- 简单易懂的博弈论讲解(巴什博弈、尼姆博弈、威佐夫博弈、斐波那契博弈、SG定理)
博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时 ...
- java 格式化
一. 可以之际像c语言一样用System.out.printf()格式化输出 二. System.out.format 1. format()方法模仿自printf(), 可用于PrintStream ...
随机推荐
- ORA-00001: unique constraint (string.string) violated 违反唯一约束条件(.)
ORA-00001: unique constraint (string.string) violated ORA-00001: 违反唯一约束条件(.) Cause: An UPDATE or I ...
- git-代码分支管理
1. git代码分支管理 DEV SIT UAT PET PRE PRD PROD常见环境英文缩写含义 英文缩写 英文 中文 DEV development 开发 SIT System Int ...
- iproute2工具
iproute2工具介绍 iproute2是linux下管理控制TCP/IP网络和流量控制的新一代工具包,出现目的是替代老工具链net-tools.net-tools是通过procfs(/proc)和 ...
- linunx常用命令综合
# linux常用命令exsi 6.5虚拟化系统命令大全 https://www.runoob.com/linux/linux-command-manual.html# sudo -i 设置切换无密码 ...
- pytest文档42-fixture参数化params
前言 参数化是自动化测试里面必须掌握的一个知识点,用过 unittest 框架的小伙伴都知道使用 ddt 来实现测试用例的参数化. pytest 测试用例里面对应的参数可以用 parametrize ...
- Get提交方式中文乱码
Get提交方式中文乱码 今天在servlet使用中,在Get方法中获取提交的中文参数,发现是乱码,我用的是Tomcat7. 在Tomcat9中: get方式的参数是放在请求头中,而Tomcat9对请求 ...
- scrapy-下载器中间件 随机切换user_agent
from faker import Faker class MySpiderMiddleware(object): def __init__(self): self.fake = Faker() de ...
- spring-shiro 安全框架配置
<!--创建自定义域对象--><bean id="authRealm" class="com.aaa.ssm.shiro.AuthRealm" ...
- CAP-微服务间通信实践
微服务间通信常见的两种方式 由于微服务架构慢慢被更多人使用后,迎面而来的问题是如何做好微服务间通信的方案.我们先分析下目前最常用的两种服务间通信方案. gRPC(rpc远程调用) gRPC-微服务间通 ...
- 缩略图调查——抖音客户端/PC/iphone
最近对抖音有点上瘾,经常看到这样的视频列表: 由于抖音平台的限制,用户最多只能上传60s的视频,因此分段为3个视频.而在视频列表的缩略图模式下,三个视频的封面恰好组合成一张图像.这种方式比较符合审美标 ...