Добавление ссылки библиотеки DLL ActiveX VB6 в проект VS2008
В работе у нас есть проект VB6 (ActiveX DLL), который мы должны иметь возможность добавить в качестве ссылки на другой проект VS2008 C#.
Разработчик там говорит мне, что в прошлом они могли это сделать, но теперь мы внесли изменения в библиотеку DLL VB6 и должны были перекомпилировать ее.
Таким образом, нам нужно обновить ссылку в проекте VS2008, но когда мы пытаемся добавить ссылку на DLL VB6 обратно (после удаления старой ссылки) в проект VS2008, мы получаем желтый "!"значок включен недавно добавленная ссылка, а затем, когда мы строим, VS2008 говорит, что ссылка не может быть найдена.
Я попробовал вкладки" обзор "и" COM", где вы можете добавить ссылку, не повезло.
Нужен ли нам какой-то TLB, чтобы добавить его или что-то еще ?
Спасибо.
3 ответов:
Вам нужно сделать следующее из командной строки:
#CD to wherever the dll is located regsrv32 /u foo.dll regsrv32 foo.dll
Это отменит регистрацию старого com-объекта и зарегистрирует новый.
Он прав, вы можете сделать это из командной строки.
Помните, что ваша библиотека управления Active-X может быть 16-разрядной, поэтому используйте
regsrv /u foo.dll regsrv foo.dll
Из командной строки. Но 32-бит прекрасно работает для regsrv32!
Я использовал Ole / COM object viewer (входит в Windows SDK 6.0 A), затем я увидел кучу записей COM в "All objects" ie: MyDLLName.className и некоторые указывали на файл DLL, который больше не существует. Удалил все соответствующие записи COM в реестре Windows, которые указывали на удаленную DLL и оставил все те, которые указывали на существующую DLL, а затем я мог успешно импортировать его в мой проект VC#.
Comments