Visual studio 使用Visual Studio调试命名空间扩展

Visual studio 使用Visual Studio调试命名空间扩展,visual-studio,debugging,com,namespaces,Visual Studio,Debugging,Com,Namespaces,使用Visual Studio调试命名空间扩展的最佳方法是什么?使用regsvr32注册和取消注册扩展以及为每个生成重新启动资源管理器是不方便的。将调试器附加到扩展将是一个很好的好处 有没有一种简单的方法可以使用Visual Studio调试命名空间扩展?如果您使用类似于explorer.exe/separate,::{desktopguid}\:{yourguid}的东西启动explorer,您应该为该窗口获得一个单独的进程,并且它应该拾取新的注册表项(或者,如果您只是将现有条目留在其中,则可

使用Visual Studio调试命名空间扩展的最佳方法是什么?使用regsvr32注册和取消注册扩展以及为每个生成重新启动资源管理器是不方便的。将调试器附加到扩展将是一个很好的好处


有没有一种简单的方法可以使用Visual Studio调试命名空间扩展?

如果您使用类似于
explorer.exe/separate,::{desktopguid}\:{yourguid}
的东西启动explorer,您应该为该窗口获得一个单独的进程,并且它应该拾取新的注册表项(或者,如果您只是将现有条目留在其中,则可以添加一个
GetWindowThreadProcessId(GetShellWindow(),…)!=GetCurrentProcessId()
检查并在“main”shell进程中不加载)

您还可以设置一些注册表值来更改explorer:、SeparateProcess和BrowseNewProcess的行为


要关闭外壳程序而不终止taskmgr中的进程,请使用这种旧的关闭技巧:单击“开始”,然后关闭。按住Ctrl+Alt+Shift并单击“取消”

如果您提供有关您尝试执行的操作的更多详细信息,将会有所帮助。例如,为什么您需要注册dll等。我正在编写一个名称空间扩展,该扩展名为ad将一个新的虚拟文件夹发送到资源管理器。这是使用注册为COM服务器的dll完成的。我的问题是,我没有找到使用Visual Studio调试此扩展的方法。重建项目时,我必须终止资源管理器,因为加载了dll。我也无法将调试程序附加到此进程。我想知道是否有我需要的这是一种启动和调试此类命名空间扩展的简单方法。我还没有在该上下文中尝试过,但是为什么不在project properties explorer.exe中指定“启动操作|启动外部程序”。您必须指定确切的路径(例如“C:\Winnt\explorer.exe”),很可能这样就可以了。