Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: MDA от 11-02-2020, 09:51:07
-
Здравствуйте!
Проблема следующего характера - в свое время была разработана библиотека для AutoCAD и она содержала в себе все команды, которые были разработаны для разных целей и проектов. Сейчас встал вопрос о модульности библиотеки. Есть общая библиотека, которая будет содержать базовый код. Она должна ссылаться на другие разработанные наши мини библиотеки в зависимости от того, какая команда набрана. Можете подсказать возможно ли такое реализовать?
Заранее благодарю!
-
Запросто. Так все и делают. Dll с общими функциями просто лежит в той же папке.
-
Dll с общими функциями просто лежит в той же папке.
Могут возникнуть проблемы, если разные плагины будут использовать разные версии вспомогательных DLL.
Тему уже обсуждали ранее: https://adn-cis.org/forum/index.php?topic=2828.0
-
Чтоб не было проблем, можно просто добавить проекты вспомогательных библиотек в список "Зависимости проектов". И VS сама перекомпилирует их когда надо.
-
Из неприятных моментов - все классы методы вспомогательной библиотеки надо объявлять public. Следственно запускать dotfuscator уже нет смысла - ничего нельзя переименовывать, код доступным для декомпиляции... чуть более доступным :)
-
Чтоб не было проблем, можно просто добавить проекты вспомогательных библиотек в список "Зависимости проектов". И VS сама перекомпилирует их когда надо.
Это да. Но тогда надо обязать ещё всех пользователей всегда переустанавливать все ваши приложения при изменении хотя бы одного из них. А это уже утопия...
-
Дмитрий Загорулькин,
Я так понимаю, что речь идёт об одной организации. В этом случае проблема решается проще.
-
Господа эксперты! Это даже не одна организация, а 1 компьютер. Сетевой версии не предусматриваем. Личное использование, а в случае массового варианта практиковали просто замену библиотеки и конфликта не было. Если на предложенной теме форума ответ не найдем, то постараемся сформировать вопрос по другому и возможно с кодом. Сегодня вечером покумекаем.
-
Господа эксперты! Это даже не одна организация, а 1 компьютер. Сетевой версии не предусматриваем. Личное использование, а в случае массового варианта практиковали просто замену библиотеки и конфликта не было.
Тогда зачем огород городить с разделением библиотек? Точнее что не устраивает в том, как есть сейчас?
-
Я так понимаю, что речь идёт об одной организации. В этом случае проблема решается проще.
Господа эксперты! Это даже не одна организация, а 1 компьютер. Сетевой версии не предусматриваем. Личное использование, а в случае массового варианта практиковали просто замену библиотеки и конфликта не было. Если на предложенной теме форума ответ не найдем, то постараемся сформировать вопрос по другому и возможно с кодом. Сегодня вечером покумекаем.
Понял, сворачиваю понты (https://bash.im/quote/209922) :)
-
Господа эксперты! Это даже не одна организация, а 1 компьютер. Сетевой версии не предусматриваем. Личное использование, а в случае массового варианта практиковали просто замену библиотеки и конфликта не было.
Тогда зачем огород городить с разделением библиотек? Точнее что не устраивает в том, как есть сейчас?
Просто для чего электрику-автоматика, а земельщику-электрика? Вот и решили уйти от загруженности библиотеки.
-
Понял, сворачиваю понты
Возможно не правильно выразился, извиняюсь. Я имел в виду если на предложенной теме (что была предложена как ранее рассмотренная) не найдем ответ, то сформируем по другому вопрос.
-
MDA,
Тот случай, когда я не стал бы разделять. Если речь идёт об одном компьютере, то кто за ним работает? Если могут работать поочередно разные специалисты, то нужно чтобы было всё и сразу.
Ну и вопрос с количеством программистов. Если один, то тоже нет смысла делить. Если несколько и каждый занимается своим разделом, то можно и разделить...
-
Я имел в виду если на предложенной теме (что была предложена как ранее рассмотренная) не найдем ответ, то сформируем по другому вопрос.
Тема действительно слишком абстрактная...
P.S.: Кстати, а что понимаем под библиотекой? Только dll-файл?
-
Я имел в виду если на предложенной теме (что была предложена как ранее рассмотренная) не найдем ответ, то сформируем по другому вопрос.
Тема действительно слишком абстрактная...
P.S.: Кстати, а что понимаем под библиотекой? Только dll-файл?
Только файл dll.
-
Господа эксперты, не буду Вас задерживать. Сегодня покумекаем и тогда обращусь повторно. Огромное спасибо за уделенное время.
-
Господа эксперты повторно задам вопрос - как, и, работает ли, позднее связывание в среде AutoCAD. Load Assembly почему-то не сработал.
Идея заключается в следующем: должен быть центральный модуль, который загружается через Netload AutoCAD, затем этот модель должен найти плагины возле себя, загрузить из них списки команд и зарегистрировать их в AutoCAD.
Проблему совместимости и обфускации прошу не рассматривать в данной теме.
-
Load Assembly почему-то не сработал.
А точнее? Как загружал (код)? Были ли какие-то сообщения? Чего ожидал получить и что получилось?
-
Идея заключается в следующем: должен быть центральный модуль, который загружается через Netload AutoCAD, затем этот модель должен найти плагины возле себя, загрузить из них списки команд и зарегистрировать их в AutoCAD.
Вполне работоспособная идея. Фактически так и автозагрузчик в AutoCAD работает.