Расширение оболочки для тестирования / отладки, Regasm и explorer.exe - PullRequest
3 голосов
/ 21 февраля 2011

Я успешно создал расширение оболочки (точнее, обработчик контекстного меню) в 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/ для полного запуска команд в фоновом режиме.

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Я закончил создание командного файла для уничтожения, а затем перезапустил explorer.exe и использовал его в своем событии перед сборкой.Однако, хотя я использовал команду «Пуск» для запуска задач в фоновом режиме, Visual Studio зависал на неопределенный срок в процессе сборки.В итоге я использовал этот инструмент http://www.commandline.co.uk/cmdow/ для полного запуска команд в фоновом режиме.

0 голосов
/ 23 февраля 2011

У меня есть еще одно предложение: вы можете использовать Unlocker , чтобы разблокировать DLL.После этого вы сможете снова скомпилировать.Согласно веб-сайту, Unlocker даже имеет инструмент командной строки, поэтому вы можете интегрировать его в процесс сборки.

...