在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

.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:033782
用户头像

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

关注

评论

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

Spark SQL基本架构

穿过生命散发芬芳

spark SQL 11月月更

iofod 支持生成 Electron 桌面应用

iofod jude

前端 低代码平台 iofod

跟着卷卷龙一起学Camera--延迟04

卷卷龙

ISP camera 11月月更

百度前端二面常考手写面试题总结

helloworld1024fd

JavaScript

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

前端面试那些题

loveX001

JavaScript

AI为方,产业为向:京东云数字人的技术攀爬

脑极体

人工智能’

React循环DOM时为什么需要添加key

beifeng1996

React

React源码分析(二)渲染机制

goClient1992

React

合格vue开发者应该知道的面试题

bb_xiaxia1998

Vue

细说react源码中的合成事件

flyzz177

React

深入react源码看setState究竟做了什么?

flyzz177

React

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

防守体系建设三部曲

阿泽🧸

11月月更 防守体系

跟着卷卷龙一起学Camera--MIPI 01

卷卷龙

ISP camera 11月月更

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

从源码角度看React-Hydrate原理

flyzz177

React

前端面试指南之React篇(二)

beifeng1996

React

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 11月月更

Mac部署hadoop3(伪分布式)

程序员欣宸

大数据 hadoop 11月月更

2022-11-01:给定一个只由小写字母和数字字符组成的字符串str。 要求子串必须只含有一个小写字母,数字字符数量随意。 求这样的子串最大长度是多少?

福大大架构师每日一题

算法 rust 福大大

AWS S3 bucket 的 ACL 控制

HoneyMoose

一年前端面试打怪升级之路

loveX001

JavaScript

React的useLayoutEffect和useEffect执行时机有什么不同

beifeng1996

React

前端面试指南之React篇(一)

beifeng1996

React

React源码分析1-jsx转换及React.createElement

goClient1992

React

new Vue的时候到底做了什么

bb_xiaxia1998

Vue

跟着卷卷龙一起学Camera--Rolling Shutter

卷卷龙

ISP camera 11月月更

React源码分析(三):useState,useReducer

goClient1992

React

一文搞定Vue面试

bb_xiaxia1998

Vue

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