Windows WebView2 访问本地文件引发异常
Windows WebView2 access local files exception raised
我正在测试 WebView2 控件并希望访问本地文件而不是显示远程网站。我正在使用 SetVirtualHostNameToFolderMapping 方法,但得到一个异常,指出不支持接口可能是因为控件的旧版本或运行时的旧版本。我使用的是两者的最新版本(运行时为 88.0.705.81,WebView 控件为 1.0.790)所以不确定为什么会出现异常。任何 help/ideas?
这是我遇到异常的代码行:
webView.CoreWebView2.SetVirtualHostNameToFolderMapping("web.example","web",CoreWebView2HostResourceAccessKind.Allow);
这是我得到的异常:
'System.NotImplementedException' 类型的未处理异常发生在 Microsoft.Web。WebView2.Core.dll
无法转换为 Microsoft.Web.WebView2.Core.Raw.ICoreWebView2_3。
如果您使用的接口不受您正在使用的 WebView2 运行时版本的支持,则可能会发生这种情况。
例如,如果您使用的是来自较旧 SDK 的实验接口,该接口已在较新的运行时中被修改或删除。
或者,如果您使用的 public 接口来自未在较旧运行时中实现的较新 SDK。
SetVirtualHostNameToFolderMapping 需要 WebView2 运行时版本 build 721 或更高版本。该功能仍在预发布 SDK 包中,需要最新的金丝雀通道边缘浏览器作为您的 WebView2 运行时。
查找版本
在SetVirtualHostNameToFolderMapping docs the bottom of the page says it applies to SDK versions 1.0.721 and 1.0.790. And as the version doc注释中可以看到,SDK版本对应的WebView2 Runtime版本有匹配的内部版本号。因此,此新功能至少需要 WebView2 运行时版本 89.0.721.0 或更高版本。
预发行与发行包
您正在使用最新版本的 WebView2 Runtime,它与 Edge 浏览器的稳定通道相匹配,并且 SetVirtualHostNameToFolderMapping 的代码尚未进入稳定通道。这就是为什么它仍然只在我们的预发布 SDK 包中而不是发布 SDK 包中。要暂时试用,您需要 use the Edge browser canary channel as your WebView2 Runtime.
我正在测试 WebView2 控件并希望访问本地文件而不是显示远程网站。我正在使用 SetVirtualHostNameToFolderMapping 方法,但得到一个异常,指出不支持接口可能是因为控件的旧版本或运行时的旧版本。我使用的是两者的最新版本(运行时为 88.0.705.81,WebView 控件为 1.0.790)所以不确定为什么会出现异常。任何 help/ideas?
这是我遇到异常的代码行:
webView.CoreWebView2.SetVirtualHostNameToFolderMapping("web.example","web",CoreWebView2HostResourceAccessKind.Allow);
这是我得到的异常:
'System.NotImplementedException' 类型的未处理异常发生在 Microsoft.Web。WebView2.Core.dll 无法转换为 Microsoft.Web.WebView2.Core.Raw.ICoreWebView2_3。 如果您使用的接口不受您正在使用的 WebView2 运行时版本的支持,则可能会发生这种情况。 例如,如果您使用的是来自较旧 SDK 的实验接口,该接口已在较新的运行时中被修改或删除。 或者,如果您使用的 public 接口来自未在较旧运行时中实现的较新 SDK。
SetVirtualHostNameToFolderMapping 需要 WebView2 运行时版本 build 721 或更高版本。该功能仍在预发布 SDK 包中,需要最新的金丝雀通道边缘浏览器作为您的 WebView2 运行时。
查找版本
在SetVirtualHostNameToFolderMapping docs the bottom of the page says it applies to SDK versions 1.0.721 and 1.0.790. And as the version doc注释中可以看到,SDK版本对应的WebView2 Runtime版本有匹配的内部版本号。因此,此新功能至少需要 WebView2 运行时版本 89.0.721.0 或更高版本。
预发行与发行包
您正在使用最新版本的 WebView2 Runtime,它与 Edge 浏览器的稳定通道相匹配,并且 SetVirtualHostNameToFolderMapping 的代码尚未进入稳定通道。这就是为什么它仍然只在我们的预发布 SDK 包中而不是发布 SDK 包中。要暂时试用,您需要 use the Edge browser canary channel as your WebView2 Runtime.