Я успешно создал расширение оболочки (точнее, обработчик контекстного меню) в C #, используя .NET 4.0. Я использовал Regasm, чтобы зарегистрировать расширение, и снова Regasm, чтобы отменить регистрацию расширения. Весь процесс работает чудесно.
У меня одна проблема: explorer.exe не отпускает мою DLL после тестирования. Я не могу удалить его, и я не могу сделать другую сборку без жалоб VS. Единственное, что я смог сделать, чтобы освободить DLL - это перезапустить explorer.exe. Так что это мой вопрос: как я могу тестировать, не проходя весь этот процесс каждый раз?
Буду также признателен за советы по ускорению процесса тестирования / отладки.
Редактировать: в свойствах моего проекта я нашел опцию «Регистрация для COM-взаимодействия». Это ускоряет процесс отладки, но я все еще остаюсь с проблемой explorer.exe.
Редактировать 2: я закончил создание пакетного файла для уничтожения, а затем перезапустил explorer.exe и использовал его в своем событии перед сборкой. Однако, хотя я использовал команду «Пуск» для запуска задач в фоновом режиме, Visual Studio зависал на неопределенный срок в процессе сборки. В итоге я использовал этот инструмент http://www.commandline.co.uk/cmdow/ для полного запуска команд в фоновом режиме.