VS2005 C #: перезагрузка ссылки - PullRequest
0 голосов
/ 24 февраля 2009

Подобно coryr (см. этот вопрос ), я ссылаюсь на dll в проекте C #. DLL часто меняется, но я C # проект не признает это. В отличие от Coryr, DLL является ActiveX VB6 DLL. Любые предложения о том, как перезагрузить ссылку, кроме удаления и добавления?

1 Ответ

2 голосов
/ 24 февраля 2009

Проблема здесь в том, что когда вы добавляете ссылку на COM DLL, вы на самом деле не добавляете ссылку на DLL. Вместо этого для DLL создается первичная сборка взаимодействия, и к ней добавляется ссылка. При изменении основной DLL новая PIA (основная сборка взаимодействия) не создается.

Вы можете проверить это, выполнив следующие действия:

  1. Расширить коллекцию ссылок
  2. Хит F4. Откроется страница свойств
  3. Посмотрите на свойство path

Путь будет путем к PIA.

Проблема в том, что VS следит за PIA, а не за исходной DLL. Таким образом, когда оригинальная DLL изменяется, она фактически не перезагружает ссылку. Лучший способ заставить это работать, к сожалению, удалить и повторно добавить ссылку.

Другое решение состоит в том, чтобы вручную сгенерировать PIA и поместить его поверх ссылочной PIA на диске. Это заставит VS перезагрузить ссылку на DLL.

...