Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

.NET MAUI RC1 带来了诊断功能以及 Android CoreCLR 的实验性支持

作者:Edin Kapić

  • 2025-10-02
    北京
  • 本文字数:1571 字

    阅读完需:约 5 分钟

大小:800.87K时长:04:33
.NET MAUI RC1 带来了诊断功能以及Android CoreCLR的实验性支持

微软已经发布了.NET 10的第一个候选发布版本(RC1)以及上线支持,这表明公司认为该框架已经准备好用于生产环境。在 RC1 中更新的各种工作负载中,.NET 多平台应用 UI(.NET MAUI)获得了几个针对可靠性和开发者生产力的目标增强。RC1 的注释关注于可观测性的改进、现有控件的调整以及 Android 的实验性新运行时选项。

 

.NET MAUI 在.NET 10 预览周期中稳步发展。早期的预览集中在性能优化和增量控件细化上,同时基本上保持了平台的底层架构不变。RC1 发布继续这一趋势,通过稳定 API 界面,并在 10 月 14 日之前增加一个上线许可,以便开发者可以在微软的支持下在生产环境中部署 RC1 构建。与早期的预览构建不同,RC1 功能齐全;剩余的大部分工作是缺陷修复和打磨,因此重点在于质量和诊断工具,而不是主要的新控件。

 

其中一个主要的新增功能是为.NET MAUI应用程序提供全面且可扩展的诊断和布局性能指标跟踪。该版本引入了一个新的 ActivitySourceMeter ,用于跟踪布局操作,称为 Microsoft.Maui 。这些原语发出与.NET Aspire 和 OpenTelemetry 仪表板集成的跟踪事件和性能计数器,实现了对布局测量和排列成本的实时可见性。该工具被实现为围绕 IView.Measure()IView.Arrange() 的零分配结构体,以最小化开销。记录的指标包括测量和排列操作的数量计数器,以及这些操作持续时间的直方图。由于可以通过 System.Diagnostics.Metrics.Meter.IsSupported 开关在运行时禁用指标 API,开发者可以安全地修剪或提前编译他们的应用程序,而不必在不需要时支付诊断的成本。

 

.NET Aspire 仪表盘中的.NET MAUI 应用程序诊断

 

除了诊断之外,RC1 还更新了 HybridWebView 控件,以支持两个新的初始化事件: WebViewInitializingWebViewInitialized 。这些事件反映了 BlazorWebView 上可用的事件,并允许开发者在底层 WebView 创建之前和之后进行钩子操作。例如,处理程序可以在视图构建之前( WebViewInitializing )提供特定于平台的初始化参数,或在原生 WebView 实例可用后调整设置( WebViewInitialized )。这一变化简化了需要跨 iOS、Android、Windows 和 macOS 自定义嵌入式 Web 控件的混合应用程序的编写。以前,这种自定义需要特定于平台的处理程序或反射;现在可以在一个跨平台的事件处理程序中完成。

 

一个小但受欢迎的可用性改进是 RefreshView 上新增了一个 IsRefreshEnabled 属性。到目前为止,开发者只能通过 IsEnabled 禁用整个控件;这阻止了包含的内容在需要禁用刷新功能时进行交互。新属性允许开发者禁用下拉刷新,同时保持底层内容活跃。这一变化使跨平台的行为一致,并在 XAML 声明中明确了意图。在发布说明中,微软演示了一个包装在 RefreshView 中的登录表单,当 IsRefreshEnabled="false" 时仍然可用。

 

作为 RC1 稳定化的一部分,微软已经弃用了几个遗留 API。“压缩”布局类型现在已过时,鼓励开发者避免不必要的布局容器嵌套。 PerformanceIPerformanceProvider 类型在早期版本中提供了有限的检测,也被标记为过时。这些移除标志着向上述新的、标准化的诊断基础设施的转变。

 

最大的运行时变化出现在 Android 工作负载中。通过在项目文件中设置 <UseMonoRuntime>false</UseMonoRuntime> ,开发者现在可以选择在CoreCLR运行时而不是长期的 Mono 运行时上运行 Android 应用程序。该功能被标记为实验性,因此微软警告说,应用程序的大小将会增加,并且调试和一些运行时诊断可能不完整。尽管如此,这一举措表明了微软统一移动和桌面平台.NET 运行时体验的意图。鼓励早期采用者提供反馈,明确指出他们何时使用 CoreCLR。

 

开发者可以通过.NET 10 SDK下载 RC1,并安装Visual Studio 2026 Insiders或在 Visual Studio Code 中使用 C# Dev Kit。完整的MAUI RC1发布说明和相关资源可在 GitHub 上找到,微软鼓励通过.NET 10 GitHub问题提供反馈。

 

原文链接:

https://www.infoq.com/news/2025/09/net-maui-rc1/

2025-10-02 10:001

评论

发布
暂无评论

Mint the Moment:纪念以太坊十周年的链上铭文

NFT Research

Ethereum NFT\ #Web3

能自定义、能分享的智能体,还支持生成随机头像

火山引擎开发者社区

Trae

没有Happens-Before?你的多线程代码就是‘一锅粥’!

poemyang

并发编程 happens-before #java

BeeWorks Meet:私有化部署,重塑高安全需求行业的视频会议体验

BeeWorks

即时通讯 IM 私有化部署 局域网视频软件

开源 Ai Agent 智能体,能用、能改、能学,美滋滋!

京东科技开发者

北京理工大学医工交叉教学实践分享(1)|如何以实践破解数据挖掘教学痛点

ModelWhale

AI教育 医工融合 北京理工大学

解析 RS485 总线:从技术内核到终端电阻的可靠性密码

开源能源管理系统

开源 RS485 能源管理系统

了解财务规划发展趋势,构建全面预算最佳管理

智达方通

财务分析 全面预算管理 财务管理 财务规划

可视化AI工具Flowise搭建教程:Docker部署+内网穿透实现远程访问

科技热闻

2025开放原子开源生态大会开源鸿蒙交流区亮点迭出,社区与伙伴单位共筑万物智联新图景

新消费日报

TRAE 2.0 SOLO 发布会回顾

火山引擎开发者社区

Trae

二手车平台是否需要过等保?为什么?

行云管家

网络安全 数据安全 过等保

AI英语口语APP开发费用评估

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI口语APP

Skywork UniPic开源了!从零预训练打造图片生成、理解和编辑一体化模型,生图效果达SOTA

新消费日报

定位与专长的分野:ThingsBoard 物联网平台与 MyEMS 能源管理系统的深度对比

开源能源管理系统

开源 能源管理系统

意十足!京东JoyAgent智能体确实是产品级开源!

京东科技开发者

区块链U卡APP的技术方案

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

企业即时通讯平台,私有化部署-BeeWorks IM

BeeWorks

即时通讯 IM 私有化部署

AI时代,如何精准识别全功能团队的高绩效人才?

思码逸研发效能

研发管理 研发效能 绩效管理 研发效能度量 思码逸

解析 vLLM 架构及源码系列 - API Server

Jason黄

vLLM vLLM源码

RabbitMQ+贝锐花生壳内网穿透远程访问教程:实现异地AMQP通信+Web管理

科技热闻

KWDB 初体验

KaiwuDB

京东零售重磅开源 | OxyGent:5分钟打造2000+AI智能体军团

京东科技开发者

31岁生日思考——把AI作为方法

田威AI

AI AI工具

Cursor可控AI编程实践:缩短交付周期,保障产品质量

Fabarta

人工智能 智能体 AI 编程

本地搭建Calibre-Web用内网穿透实现远程访问,一站式部署电子书云平台

科技热闻

TRAE cue 体验提升之 Latency 篇

火山引擎开发者社区

Trae

基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】

程序员Geek

人工智能

扣子,正式拥抱开源!

火山引擎开发者社区

AI Agent 扣子

2025广州等保测评机构名单看这里!

行云管家

网络安全 等保

基于YOLOv8的有无戴安全帽检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

人工智能

.NET MAUI RC1 带来了诊断功能以及Android CoreCLR的实验性支持_微软_InfoQ精选文章