c# - 将 WebView2 固定版本运行时分发包含到项目中
问题描述
我即将与我的项目一起分发 WebView2 的固定版本。根据微软指南“有关固定版本运行时分发模式的详细信息”下载 [1] 并解压缩 [2] 包后我必须将二进制文件包含到我的项目中 [3] 并在创建 WebView2 环境时指示固定版本二进制文件的路径 [ 4]。
解压后的文件夹包含 169 个文件。我应该包含哪些文件以及如何包含它们?
我正在使用.Net Framework 4.8。目前我在 Visual Studio 中收到以下错误:“名称空间 'Microsoft' 中不存在类型或名称空间名称 'Web'”
解决方案
一般我们推荐使用Evergreen 分销模式。它将节省最终用户机器上的磁盘空间,因为它使用常绿 WebView2 与其他应用程序共享,并且它会自动为您保持最新,这与固定版本不同。您可以详细了解这两种方法的优缺点。
如果 Fixed Version 对您的应用程序最有意义,您需要确保 cab 包中的所有文件都在磁盘上的某个位置,以便您的应用程序引用它们。如果您正在使用某些东西来构建安装程序,它应该允许您引用已放置在应用程序安装路径中的固定版本文件的文件夹。
Microsoft 中不存在有关 Web 的错误,这听起来像是缺少对 WebView2 nuget 包的引用。确保您还安装了 WebView2 程序集和加载程序文件,如Files to Ship With the App中所述。这些是除上述固定版本 WebView2 运行时文件之外必须包含的 SDK 文件。
\<myApp>
\Microsoft.Web.WebView2.Core.dll
\Microsoft.Web.WebView2.Winforms.dll
\Microsoft.Web.WebView2.WPF.dll
\runtimes
\win-arm64\native\WebView2Loader.dll (arm64)
\win-x64\native\WebView2Loader.dll (x64)
\win-x86\native\WebView2Loader.dll (x86)
推荐阅读
- c++ - “const”究竟保证了什么?
- rust - 如何从内存缓冲区创建流
- azure - Azure 密钥保管库 - 下载的证书与导入的证书不同
- java - 本地和远程视频通话都显示黑屏,但音频在 agora 中工作正常
- python - 如何找到加权无向图中所有节点的总和
- python - 为什么`SGDClassifier`中的`partial_fit`会遭受模型精度逐渐降低的影响
- android - 在 Godot android 导出上保存数据
- typescript - 在 RolesGuard 中使用 JwtService 解码 JWT 令牌并在不使用护照的情况下获取用户角色
- spring - 如何将借记卡支付与 Spring Boot 应用程序集成?
- android - 修改 Android 中默认拨号器应用程序上显示的数据