Вопрос

Я несу ответственность за поддержание Legacy Code VB6 и столкнулся с раздражающей проблемой в отношении блокировки COM DLL проекта. (Мы назовем это Мой проект а также Myproject.dll.dll)

Когда я загружусь Мой проект В IDE VB6 я могу компилировать полученную двоичную совместимую DLL Myproject.dll.dll. Отказ Затем я могу запустить мою (Classic Asp) веб-приложение, которое крючки в DLL (или что-то еще в этом отношении).

Итак, когда я пытаюсь перекомпилировать COM DLL, я получаю ошибку «разрешение запрещено». Я тогда нахожусь, чтобы выполнить следующие шаги для разблокировки DLL:

  1. Проверьте, у меня нет зависимых проектов, открытых в других IDES VB6
  2. Рециркулировать IIS.
  3. Убедитесь, что файл не только читается (иногда будет, если я проверил его в контроль источника)
  4. Закройте проект и откройте его.

Часто это последний шаг, который исправляет проблему, и позволяет мне перекомпилировать, что означает, что IDE VB6 на самом деле блокирует DLL загруженного проекта!

Мой коллега объяснил мне, что с тем, как проект VB6 работает с бинарной совместимостью по DLL, но не смогла предложить резолюцию.

Мои поиски в другом месте очень мало уступили на пути ответов. Поисковые запросы, которые связаны с этим, имеют тенденцию возвращать множество несвязанных ответов (может быть, я задаю неправильную вещь для поисковых систем).

Ближайшая вещь, которую я мог найти на StackoverFlow был этот вопрос С пару лет назад, но это на самом деле не соответствует законопроекту.

У кого-нибудь есть какие-либо другие предложения, которые могут улучшить это?

Это было полезно?

Решение

Держать копию MyProject.dll название MyProject.cmp и пункт бинарной совместимости на ваш файл .cmp. Таким образом, вам не понадобится повторное отображение файла проекта (шаг 4).

Во время регистрации вы можете пометить Продолжайте проверить Пропустить шаг 3 тоже.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top