测试/调试Shell扩展& Regasm& Explorer.exe的

时间:2011-02-21 00:17:08

标签: c# .net windows com

我使用.NET 4.0在C#中成功创建了一个shell扩展(确切地说是一个上下文菜单处理程序)。我使用Regasm注册扩展,再使用Regasm注销扩展。整个过程非常有效。

我遇到一个问题:explorer.exe在测试后不会放弃我的DLL。我不能删除它,如果没有VS抱怨,我不能再做一次构建。我唯一能做的就是重启explorer.exe。所以这就是我的问题:我如何在不经历整个过程的情况下进行测试?

我也很感激有关加快测试/调试过程的任何提示。

编辑:我在项目属性中找到了Register for COM Interop选项。它确实加快了调试过程,但我仍然遇到explorer.exe问题。

编辑2:我确实创建了一个批处理文件来杀死然后重新启动explorer.exe,并在我的预构建事件中使用它。但是,即使我曾经“启动”命令在后台运行任务,Visual Studio也会在构建过程中无限期冻结。我最终使用此工具http://www.commandline.co.uk/cmdow/在后台完全运行命令。

2 个答案:

答案 0 :(得分:1)

我最后创建了一个批处理文件来杀死然后重新启动explorer.exe,并在我的预构建事件中使用它。但是,即使我曾经“启动”命令在后台运行任务,Visual Studio也会在构建过程中无限期冻结。我最终使用此工具http://www.commandline.co.uk/cmdow/在后台完全运行命令。

答案 1 :(得分:0)

我还有另一个建议:您可以使用Unlocker来解锁DLL。之后,您应该能够再次编译。 据该网站称,Unlocker甚至还提供命令行工具,因此您可以将其集成到构建过程中。