c# - 测试/调试 Shell Extension & Regasm & explorer.exe

标签 c# .net windows com

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

不过我遇到了一个问题:explorer.exe 在测试后不会释放我的 DLL。我不能删除它,而且我不能在没有 VS 提示的情况下进行另一个构建。为了释放 DLL,我唯一能做的就是重新启动 explorer.exe。这就是我的问题:如何在进行过程中进行测试,而不必每次都经历整个过程?

我也非常感谢有关加快测试/调试过程的任何提示。

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

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

最佳答案

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

关于c# - 测试/调试 Shell Extension & Regasm & explorer.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061125/

相关文章:

windows - dotnet.exe 不会运行,因为缺少 api-ms-win-crt-runtime-l1-1-0.dll

sql - 如何在 Windows 上的 PostgreSQL 中使用 UTF-8 排序规则创建数据库?

c# - 使用 IDictionary 接口(interface)封装字典,而不是覆盖或隐藏方法

c# - 通过 Socket 从 C++ 到 C# 的 Protobufer

c# - WCF:在我的 app.config/web.config 中为我的 wcf 服务使用我的 "custom"ServiceHost?

.net - VB.NET 中的奇怪 -1.#IND 错误

c# - LINQ to SQL 按 List<int> 过滤

c# - 是否有内置方法将 HRESULT 表示为 winerror.h 常量(例如 E_FAIL)?

c# - 用逗号打印整数作为千位分隔符(1234567 到 "1,234,567")

windows - 当传递的对象没有实现必要的接口(interface)时返回哪个错误代码?