c# - 在 WPF 中打开 WebView2 会在调用 EnsureCoreWebView2Async 时导致 System.UnauthorizedAccessException

标签 c# wpf webview2

当从 COM Office 加载项打开带有 WebView2 组件的 WPF 窗口时,在调用 EnsureCoreWebView2Async(null) 期间发生以下错误。 Office 应用程序窗口设置为新 WPF 窗口的所有者。

System.UnauthorizedAccessException:“访问被拒绝(异常 HRESULT:0x80070005(E_ACCESSDENIED))”

有趣的是,当从纯 WPF 应用程序调用同一个窗口时,窗口和 webview2 工作得很好。即使没有 WebView2 组件,该窗口也能正常工作。

最佳答案

这个问题显然与 webview 试图在错误的位置创建文件(例如缓存)有关,很可能是应用程序文件夹。在 CoreWebView2CreationProperties 中,可以调整此行为并指定不同的文件夹。

在 WPF XAML 中使用的示例:

 <wv2:WebView2>
     <wv2:WebView2.CreationProperties>
         <wv2:CoreWebView2CreationProperties UserDataFolder="C:\Temp\myfolder"/>
     </wv2:WebView2.CreationProperties>
 </wv2:WebView2>

关于c# - 在 WPF 中打开 WebView2 会在调用 EnsureCoreWebView2Async 时导致 System.UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66374105/

相关文章:

c# - 将类作为参数传递

wpf - 与 DrawingContext.DrawText 垂直对齐

c# - 如何对具有多个子层的根 ViewModel 进行单元测试?

c# - 将Webview2 Source直接设置为二进制流

excel - 使用 Excel VBA 通过 WebView2Loader.dll 托管 Microsoft Edge

winforms - WinForm 使用带有 SSO 的 webview2

c# - MVC4 中的 AttributeUsage 有什么作用

c# - 如何在没有本地化的情况下在 C# 中获取日期

c# - VSX:如何重用现有的 XML 编辑器来处理转换为 XML 的二进制文件?

c# - 无法将 HashSet 绑定(bind)到 ListBox