以管理员身份运行VS2022时出现msedgewebview2错误该如何解决?
问题修复方案
这里分两类方案,你可以根据自己的需求选择:
一、关闭不必要的WebView2后台调用
如果你不需要使用VS内置的WebView2承载的功能,可以通过以下配置关闭相关调用,从根源避免报错:
- 修改VS启动项:打开VS后依次点击
工具->选项->启动,将「启动时打开」的选项从默认的「欢迎页」改为「空环境」或「最近加载的解决方案」,欢迎页是WebView2实现的,是最常见的后台触发源。 - 关闭开发者新闻推送:进入
工具->选项->环境->常规,取消勾选「启动时打开开发者新闻」,该功能完全依赖WebView2实现。 - 禁用相关调试功能:进入
工具->选项->调试->常规,取消勾选「启用JavaScript调试 for .NET(ASP.NET Core)」,该功能会在调试任意.NET应用时默认启动WebView2相关进程,即使你开发的是控制台应用也会触发。 - 关闭WebView2相关预览功能:进入
工具->选项->环境->预览功能,取消勾选所有包含「嵌入式浏览器」「WebView」关键字的选项,重启VS后生效。
二、保留WebView2功能的权限修复方案
如果你需要使用上述依赖WebView2的功能,可以通过以下方案解决权限冲突:
- 方案1:给缓存目录加普通用户权限。找到路径
C:\Users\<你的管理员账户名>\AppData\Local\Temp\VSWebView2Cache,右键点击文件夹选择「属性」->「安全」->「编辑」->「添加」,将你日常登录系统的普通账户添加到权限列表中,给该账户授予「完全控制」权限,应用到所有子文件夹和文件即可。 - 方案2:修改WebView2缓存路径到公共目录。右键点击VS2022的桌面快捷方式,选择「属性」,在「目标」输入框的内容末尾加空格后,补充启动参数:
--webview2-user-data-dir=C:\ProgramData\VSWebView2Cache。提前在C盘的ProgramData目录下创建VSWebView2Cache文件夹,给普通用户和管理员账户都授予完全控制权限,后续通过该快捷方式启动VS即可避免跨账户权限问题。 - 方案3:修改WebView2进程启动身份规则。按下
Win+R输入regedit打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\EdgeWebView2,如果没有该路径就手动逐级新建项。在该路径下新建DWORD(32位)值,命名为BrowserExecutableLauncherUser,数值数据设置为1,保存后重启系统即可,该配置会强制WebView2进程和启动它的父进程(即管理员身份运行的VS)使用相同的用户身份,不会再默认调用系统登录的普通用户身份运行。
内容的提问来源于stack exchange,提问作者pekaaw
相关产品推荐
相关产品推荐

