У меня есть сборка, которую мне удалось сделать видимой для VB6, и она работает, но возникла проблема с выполнением той же задачи с VB5.
Для VB6 я собрал сборку, сделал ее видимой для COM, зарегистрировал ее как объект COM и т. Д., И сборка отображается в списке литературы VB6 и позволяет мне успешно использовать ее. Обозреватель объектов также показывает метод в сборке. Я скопировал сборку и ее TLB на виртуальную рабочую станцию, используемую для разработки VB5, и запустил Regasm, по-видимому, успешно:
C:\>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
\regasm arserviceinterface.dll /tlb:arserviceinterface.tlb
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.3053
Copyright (C) Microsoft Corporation 1998-2004. All rights reserved.
Assembly exported to 'C:\Projects\AR\3rd Party\ARService\arserviceinterface.tlb'
, and the type library was registered successfully
Обратите внимание, что виртуальный W / S - это Win2k, на котором нет .NET Fx 3.5, просто 2.0.
Сборка отображается в списке ссылок, которые можно выбрать в VB5, но метод сборки не отображается в обозревателе объектов, и, как правило, его невозможно использовать. Либо есть шаг, который я бы не сделал, либо VB5 не знает, как использовать такой COM-объект. Обратите внимание, что установка VB5 находится на виртуальной рабочей станции, а не на той рабочей станции, на которой установлен VB6.
Есть идеи? Одна вещь, которая пришла мне в голову, это то, что мне может потребоваться создать и использовать строгое имя на данной рабочей станции, но ...