VB6 IDE блокирует загруженный проект DLL
-
28-09-2019 - |
Вопрос
Я несу ответственность за поддержание Legacy Code VB6 и столкнулся с раздражающей проблемой в отношении блокировки COM DLL проекта. (Мы назовем это Мой проект а также Myproject.dll.dll)
Когда я загружусь Мой проект В IDE VB6 я могу компилировать полученную двоичную совместимую DLL Myproject.dll.dll. Отказ Затем я могу запустить мою (Classic Asp) веб-приложение, которое крючки в DLL (или что-то еще в этом отношении).
Итак, когда я пытаюсь перекомпилировать COM DLL, я получаю ошибку «разрешение запрещено». Я тогда нахожусь, чтобы выполнить следующие шаги для разблокировки DLL:
- Проверьте, у меня нет зависимых проектов, открытых в других IDES VB6
- Рециркулировать IIS.
- Убедитесь, что файл не только читается (иногда будет, если я проверил его в контроль источника)
- Закройте проект и откройте его.
Часто это последний шаг, который исправляет проблему, и позволяет мне перекомпилировать, что означает, что IDE VB6 на самом деле блокирует DLL загруженного проекта!
Мой коллега объяснил мне, что с тем, как проект VB6 работает с бинарной совместимостью по DLL, но не смогла предложить резолюцию.
Мои поиски в другом месте очень мало уступили на пути ответов. Поисковые запросы, которые связаны с этим, имеют тенденцию возвращать множество несвязанных ответов (может быть, я задаю неправильную вещь для поисковых систем).
Ближайшая вещь, которую я мог найти на StackoverFlow был этот вопрос С пару лет назад, но это на самом деле не соответствует законопроекту.
У кого-нибудь есть какие-либо другие предложения, которые могут улучшить это?
Решение
Держать копию MyProject.dll
название MyProject.cmp
и пункт бинарной совместимости на ваш файл .cmp. Таким образом, вам не понадобится повторное отображение файла проекта (шаг 4).
Во время регистрации вы можете пометить Продолжайте проверить Пропустить шаг 3 тоже.