Проблема здесь в том, что когда вы добавляете ссылку на COM DLL, вы на самом деле не добавляете ссылку на DLL. Вместо этого для DLL создается первичная сборка взаимодействия, и к ней добавляется ссылка. При изменении основной DLL новая PIA (основная сборка взаимодействия) не создается.
Вы можете проверить это, выполнив следующие действия:
- Расширить коллекцию ссылок
- Хит F4. Откроется страница свойств
- Посмотрите на свойство path
Путь будет путем к PIA.
Проблема в том, что VS следит за PIA, а не за исходной DLL. Таким образом, когда оригинальная DLL изменяется, она фактически не перезагружает ссылку. Лучший способ заставить это работать, к сожалению, удалить и повторно добавить ссылку.
Другое решение состоит в том, чтобы вручную сгенерировать PIA и поместить его поверх ссылочной PIA на диске. Это заставит VS перезагрузить ссылку на DLL.