Добавление ссылки библиотеки DLL ActiveX VB6 в проект VS2008



В работе у нас есть проект VB6 (ActiveX DLL), который мы должны иметь возможность добавить в качестве ссылки на другой проект VS2008 C#.



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



Таким образом, нам нужно обновить ссылку в проекте VS2008, но когда мы пытаемся добавить ссылку на DLL VB6 обратно (после удаления старой ссылки) в проект VS2008, мы получаем желтый "!"значок включен недавно добавленная ссылка, а затем, когда мы строим, VS2008 говорит, что ссылка не может быть найдена.



Я попробовал вкладки" обзор "и" COM", где вы можете добавить ссылку, не повезло.



Нужен ли нам какой-то TLB, чтобы добавить его или что-то еще ?



Спасибо.

521   3  

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

    Ничего не найдено.