.NET 7 发布了第 6 个预览版。
主要变化包括:
- 改进 Generic Math,方便 API 作者的使用
- 为 ML.NET 引入新的 Text Classification API,增加了最先进的深度学习技术对于自然语言处理
- 对源代码生成器的多项改进
- 用于 RegexGenerator 的新 Roslyn 分析器和修复器,以及在 CodeGen、可观察性、JSON 序列化 / 反序列化和使用流方面的多项性能改进
对源代码生成器的多项改进
添加了对IAsyncEnumerable<T>
(#59268), JsonDocument
(#59954),DateOnly
/TimeOnly
(#53539) 类型的源代码生成支持。例如:
[JsonSerializable(typeof(typeof(MyPoco))]
public class MyContext : JsonSerializerContext {}
public class MyPoco
{
// Use of IAsyncEnumerable that previously resulted
// in JsonSerializer.Serialize() throwing NotSupportedException
public IAsyncEnumerable<int> Data { get; set; }
}
// It now works and no longer throws NotSupportedException
JsonSerializer.Serialize(new MyPoco { Data = ... }, MyContext.MyPoco);
改进 Generic Math
.NET 6 发布了预览版的 Generic Math,此特性允许 .NET 开发者在通用代码中利用静态 API,包括运算符。Generic Math 极大地方便了 API 作者,因为他们使用的 API 将开始支持更多类型,而不需要每个数字类型都获得显式支持。
在 .NET 7 中,开发团队对实现进行了改进并响应了社区的反馈。有关更改和可用 API 的更多信息,点此查看。
详情查看发布公告。