50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

.NET Framework 4.8 预览

  • 2018-06-20
  • 本文字数:1091 字

    阅读完需:约 4 分钟

虽然人们的大多数关注点都在.NET Core 上,但经典的.NET Framework 仍然在开发中。.NET 4.8 的“早期访问”预览版表明了微软最关心的领域包括高 DIP、可访问性和并发性。

.NET 4.8 预计将于 2019 年发布。目前的预期是,它将在稍后的 Windows 10 build 1607 上运行,但这一决定并非最终结果。

Span

在介绍新版本将要包含哪些内容之前,值得一提的是,最受期待的功能 Span不会成为此版本的一部分。据微软的 Rich Lander 称,

Span 包含在.NET Core 2.1 中。我们试图在.NET Framework 4.8 中包含 Span,但由于对现有应用程序的兼容性问题而决定不这么做。你可以 System.Memory Nuget 包中访问 Span 和其他相关类型。

System.Memory: https://www.nuget.org/packages/System.Memory/

高 DPI

高 DPI 仍然是.NET 的焦点。随着显示器分辨率不断提高,应用程序需要放大以补偿文字和图像太小造成的无法辨认。在此版本中,ClickOnce 和 WinForms 将迎来高 DPI 更新。

高 DPI 问题持续存在的原因有两个。首先是高分辨率显示器的可用性问题。在支持缩放的硬件变得可用之前,微软无法有效测试 200% 和 300%的缩放比例。因此,除非显示器已经改进到一定程度,否则缩放仍然是一个问题。

另一个挑战是多监视器设置。当应用程序在不同分辨率的显示器之间移动时,必须重新计算缩放并换出图像。更糟糕的是,应用程序可能会在两个或多个具有不同分辨率的显示器上发生重叠。解决这种情况需要各种妥协,结果并不总是令人满意。

性能

除了通常的内部调整(如减少 AsyncLocal 的内存使用量或微调旋转锁)之外,此版本还修复了 SqlDataReader.ReadAsync 实际上不是异步执行的问题。

死锁和静态条件

鉴于.NET Framework 日趋成熟,我们可能会惊奇地发现,许多核心库仍存在竞态条件和死锁。以下是与并发相关问题的部分列表。

  • CLR:在并发调用新动态方法可能发生的潜在崩溃
  • CLR:调用 EventSource 的 Dispose() 时可能发生死锁
  • 网络:在锁定 NetworkChanged 监听器和用户回调时,NetworkInformation.NetworkChange 可能会发生死锁
  • WCF:在调用 Set() 之前关闭 WaitHandle,可能在 AsyncResult 中存在竞态条件
  • WCF:当中止连接导致从 CleanupChannelCollections 中抛出 ObjectDisposedException 时可能发生的竟态条件
  • 工作流程:在极端使用条件下(与 MSDTC 的大量连接),单个线程可能会无限期地持有 CriticalSection
  • 用户界面可访问性(UIA)

UIA 的关注点仍然是 WinForms 获得新的 UIA 行为,以及修复 UIA 和 WPF 中 UIA 错误。(很多非 UIA 错误也在二者中得到修复。)

有关变更的完整列表,请参阅.NET 4.8发布说明预览版本身可以通过.NET 博客获得。

查看英文原文 An early Look at .NET 4.8

2018-06-20 13:033612
用户头像

发布了 731 篇内容, 共 478.7 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

你有多久没去看海了呢「幻想短篇 15/28」

道伟

28天写作

28天瞎写的第二百二十六天:TechCrunch Hackathon 的故事

树上

28天写作

技术招聘常被吐槽,企业应该考虑好这一点

李忠良

28天写作

十个手指头弹钢琴、高水准欣赏探讨优雅益智的古典音乐技术 数学不好很难进行

【并发编程的艺术】JVM内存模型

程序员架构进阶

架构 Java内存模型 Java虚拟机 28天写作

如何管理过程质量?新手管理者的陷阱

一笑

管理 管理者 28天写作 质量保证

2050年的一次出游 (28天写作 Day15/28)

mtfelix

自动驾驶 28天写作 科幻写作

共识算法的简单理解(一)

石君

28天写作

soul 数据同步(三)http长轮询 同步策略

xzy

产品质量管理活动流程

L3C老司机

关于“为更新而更新”的一种新的理解

Nydia

项目管理系列(8)-从0到1搭建PMO(一)

Ian哥

28天写作

人设崩塌的美国生物实验室

脑极体

week9-homework

J

Soul 源码阅读 03|WebSocket 同步数据分析

哼干嘛

Java 源码分析 Soul网关

【CSS】红砖背景

德育处主任

css3 大前端 html/css CSS小技巧 28天写作

币币交易系统APP开发|币币交易软件开发

系统开发

什么是上瘾?

石云升

28天写作 上瘾

【高并发】ReadWriteLock怎么和缓存扯上关系了?!

冰河

并发编程 读写锁 高并发 ReadWriteLock 签约计划第二季

为什么很多事情说起来容易做起来难

Justin

学习 心理学 成长 心态 28天写作

Windows AD 是否开启或者关闭了UAC服务

BigYoung

windows Windows 10

大数据知识专栏 - Hadoop的资源管理 Yarn介绍

小马哥

大数据 hadoop YARN 七日更

无代码、Excel与Airtable

lidaobing

低代码 Excel 无代码开发 28天写作 Airtable

区块链量化交易怎么做?

v16629866266

区块链数字货币交易所系统开发|区块链数字货币交易所软件APP开发

系统开发

5G最核心的本质是能力可被编排及开放

JiangX

5G 数字化转型 28天写作

历史上的今天

IT蜗壳-Tango

七日更

week9-conclusion

J

用docker-compose快速部署ChirpStack

远鹏

Docker-compose IoT ChirpStack LoraWan Go 语言

疫情闭关修炼半个月,我竟把JDK源码都读懂了!

996小迁

Java 编程 架构 面试 程序人生

一个系统小BUG修复投产居然花了3个小时来处理(上)

罗小龙

28天写作 投产事故 解决思路

.NET Framework 4.8预览_.NET_Jonathan Allen_InfoQ精选文章