2015-02-26 3 views
2

У меня есть библиотека DLL библиотеки классов, которая загружает сценарии AutoCAD из сетевой папки. Однако мне нужно, чтобы библиотека классов могла обновляться молча. В приложениях Windows Form я бы просто использовал развертывание ClickOnce, а затем использовал Application.Restart, однако, поскольку это должна быть библиотека классов (так как это аддон AutoCAD), это не представляется возможным.Как обновить dll/plug-in без перезапуска AutoCAD?

Каков наилучший способ справиться с этим?

ответ

0

Это невозможно с помощью плагинов AutoCAD, поскольку DLL загружается в AppDomain. Это «тихое» обновление возможно только с C++.

Вы можете перейти по пути TDD, который является хорошей практикой. Here - это раздаточный материал по этой теме, поскольку TDD в AutoCAD не так просто из-за вышеупомянутой проблемы.

Вы можете попробовать разработать алгоритм в своих классах, чтобы иметь лучший опыт TDD. Затем передайте его с помощью DTO на транзакцию AutoCAD.

0

У некоторых разработчиков есть 2 (или более) DLL-файла с кодом AutoCAD: 1-я основная DLL-загрузка загружается при запуске AutoCAD, проверяет наличие обновлений, загружает и устанавливает. Вторая DLL фактически содержит команды, которые будут загружаться, когда пользователь выполнит команду.