发布日期
DotNetBrowser 4.0.0
我们很高兴地宣布 DotNetBrowser 4.0.0 正式发布!
此新主要版本引入了多项新功能和改进,包括对裁剪和 AOT 的支持。
我们没有对 API 进行重大更改,因此您可以轻松地将现有代码迁移到新版本。不过,我们建议您查阅迁移指南,以了解 DotNetBrowser 4.0.0 中的变更和改进详情。
以下是 DotNetBrowser 4.0.0 中新功能和改进的详细介绍。
裁剪和 Native AOT 支持(.NET 8+)
为面向 .NET 8+ 的核心软件包添加了裁剪和 Native AOT 兼容性支持。 此功能适用于控制台应用程序和 Avalonia UI 应用程序。
更多信息请参阅此文章。
每个浏览器的渲染模式
此前,渲染模式是针对整个 IEngine 固定的。由该引擎创建的所有浏览器都共享同一种渲染模式,因此无法在离屏浏览器和硬件加速浏览器之间共享同一个配置文件。
在 DotNetBrowser 4.0.0 中,您可以为每个 IBrowser 实例单独指定渲染模式:
IBrowser browser = engine.Profiles.Default.CreateBrowser(RenderingMode.OffScreen);
通过 IEngine.CreateBrowser() 或 IProfile.CreateBrowser() 在不传递参数的情况下创建的浏览器仍然使用引擎的默认渲染模式。弹出浏览器会继承其父浏览器的渲染模式。
更多详情请参阅渲染指南。
新增 JavaScript 类型
在此版本中,我们新增了两种可在 .NET 和 JavaScript 之间自动转换的数据类型:
BigInt↔System.Numerics.BigIntegerSymbol↔DotNetBrowser.Js.IJsSymbol
示例:
BigInteger number = IFrame.ExecuteJavaScript<BigInteger>("9007199254740991n").Result;
IJsSymbol symbol = IFrame.ExecuteJavaScript<IJsSymbol>("Symbol('bacf2f')").Result;
更多详细信息请参阅 JavaScript 指南。
委托式屏幕捕获
DotNetBrowser 现在支持委托式屏幕捕获。在这种模式下,操作系统会弹出系统对话框供用户选择捕获来源,而不是将所有窗口和屏幕直接暴露给应用程序。
委托式捕获是 Linux/Wayland 上的默认模式。
Chromium 147.0.7727.117
我们将 Chromium 升级到了较新的版本,该版本引入了 50 项安全修复,其中包括:
- CVE-2026-6296: ANGLE 中的堆缓冲区溢出
- CVE-2026-6297: Proxy 中的释放后使用
- CVE-2026-6298: Skia 中的堆缓冲区溢出
- CVE-2026-6299: Prerender 中的释放后使用
- CVE-2026-6358: XR 中的释放后使用
您可以在以下 Chromium 博客文章中了解更多信息:
质量改进
- 修复了
BrowserView的IsVisible属性无法在 Avalonia UI 中通过 AXAML 绑定的问题。 - 修复了默认键盘快捷键在 macOS 上无法使用的问题。
- 修复了在父窗口不可用的环境中,通过
--enable-custom-dropdowns开关处理下拉菜单的问题。 - 在 DotNetBrowser 中通过 XWayland 添加了对 Wayland 系统的完整支持。
如何升级
如果您持有有效的 DotNetBrowser 许可证并拥有有效的支持和更新订阅,可以免费升级到 DotNetBrowser 4.0.0。
您只需在项目配置中更新 DotNetBrowser 依赖项的版本号即可完成升级。
如果您有任何疑问或需要升级方面的帮助,请随时联系我们。
下载 DotNetBrowser 4.0.0
请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。