VS Code调试PowerShell脚本时Microsoft.ACE.OLEDB.15.0未注册报错求助
解决VS Code调试PowerShell脚本时Microsoft.ACE.OLEDB.15.0未注册的问题
这个问题核心原因基本是VS Code的PowerShell调试器运行架构,和你安装的ACE驱动版本不匹配——毕竟普通PowerShell窗口、旧版ISE都能正常跑,说明驱动本身是没问题的。下面给你几个实用的解决思路:
1. 先确认架构匹配情况
首先得搞清楚各组件的架构:
- 查ACE驱动版本:打开
控制面板\程序\程序和功能,找到Microsoft Access Database Engine 2010 Redistributable(对应15.0版本),名称带(x86)就是32位,不带就是64位。 - 查VS Code架构:按
Ctrl+Shift+P输入About,在弹出的窗口里看Architecture项(x64或x86)。 - 查VS Code里PowerShell的架构:在终端运行
[Environment]::Is64BitProcess,返回True是64位,False是32位。
如果这三者架构不统一,就会触发这个报错——比如你装了64位ACE驱动,但VS Code默认用了32位的PowerShell调试器。
2. 调整VS Code的PowerShell调试架构
如果架构不匹配,直接强制VS Code用对应架构的PowerShell就行:
- 打开VS Code设置(
Ctrl+,),搜索PowerShell: Executable Path。 - 根据ACE驱动架构填路径:
- 64位驱动:填
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - 32位驱动:填
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
- 64位驱动:填
- 保存设置后重启VS Code,再调试脚本试试。
3. 安装对应架构的ACE驱动(可选)
如果不想改VS Code的设置,也可以装和当前VS Code/PowerShell匹配的ACE驱动:
- 对应架构下载安装包就行,但如果已经装了不同架构的Office,直接安装会提示冲突,这时候用被动安装:打开命令提示符,运行安装包的被动模式命令,比如64位版本:
这样能跳过Office架构冲突检测,顺利安装。AccessDatabaseEngine_x64.exe /passive
4. 更新VS Code的PowerShell扩展
旧版本的PowerShell扩展可能存在架构兼容bug,打开扩展面板找到PowerShell扩展,点击更新到最新版,重启VS Code再测试。
内容的提问来源于stack exchange,提问作者AndrewvR
相关产品推荐
相关产品推荐

