当资源管理器用作启动程序时,调试会话结束得太快 - Windows 10 / SOLIDWORKS PDM Profes



我正在尝试使用 Explorer.exe 为 SOLIDWORKS PDM Professional 调试类库(PDM 加载项)。我使用的是 Windows 10。资源管理器启动一秒钟,然后发生关闭调试器的事件。

这是我在调试选项卡中看到的。

onecoreuapshellwindows.storagesharedstoragesourcesutil.cpp(6571)windows.storage.dll!76538288: (caller: 765382E5) ReturnHr(1) tid(c0c) 80004002 No such interface supported
pcshellshellappresolverlibpintostartcontextmenu.cpp(97)appresolver.dll!7720C6F5: (caller: 7720DA4B) ReturnHr(1) tid(c0c) 8007007E The specified module could not be found.
onecoreuapshellwindows.storagesharedstoragesourcesutil.cpp(6571)windows.storage.dll!76538288: (caller: 765382E5) ReturnHr(2) tid(c0c) 80004002 No such interface supported
CallContext:[InvokeAssociatedProgram] 

有一些未经处理的异常被一些愚蠢的Microsoft扩展在资源管理器中抛出。我认为是OneDrive。由于调试器附加到资源管理器,因此它会由于此致命错误而崩溃。调试器不会捕获异常,因为未加载罪魁祸首代码的符号文件。实际上,您可以在Visual Studio的输出窗口中看到一些说明这一点的内容。

这在Windows 7中没有发生在我身上。

解决方案 1

使用记事本.exe调试 Solidworks PDM 插件(Solidworks API 文档示例已经建议这样做),但我真的觉得不得不去 文件>打开> 每次开始调试时,我都会转到保管库(登录)并将文件过滤器设置为 solidworks 文档类型。此外,记事本打开文件对话框不支持多选。

解决方案 2

使用我开发的这个控制台应用程序来调用 OpenFileDialog 对话框。控制台应用将:

  1. 将您登录到保管库。
  2. 使用库的路径作为 OpenFileDialog 的启动目录。
  3. 为 SOLIDWORKS 文件设置扩展名过滤器

如果需要,您可以启用多项选择。

最新更新