.Net native aot简单体验(二)——WebView2

发布时间 2023-09-02 17:04:09作者: 天方

现在前端的一个比较热门的方向是Hybrid App,使用浏览器实现ui渲染,靠本地的webserver实现api扩展。在上篇文章简单体验aot后,我便试了一下和WebView2集成下是否能进行AOT。如果能集成的话,后面可以用C#发布原生的Hybrid App了。

然而,比较遗憾的是,WebView2缺少ComWrappers支持,导致不支持aot,虽然官网有isses在跟踪,但感觉优先级很低,两年过去了都没啥进展。找了一下,有社区项目WinFormsComInterop在着手解决这一问题,使用起来还是比较简单的

  1. 添加nuget包WinFormsComInterop的应用
  2. 在Main函数中注册ComWrapper
ComWrappers.RegisterForMarshalling(WinFormsComInterop.WebView2.WebView2ComWrapper.Instance);

对于WebView2,其建议使用1.0.1462.37的版本,其它版本可能有功能覆盖不全的情况。

有一点需要注意的是:这个库目前不支持.net 8,所以目前还不能和asp.net集成在一起aot,只能外挂aot的asp.net服务程序。等后面.net 8正式发布后再看看是否有更新吧。

相关资料: