Использование библиотеки типов (.tlb) в проекте VB6, сбой при создании объекта ActiveX - PullRequest
2 голосов
/ 11 августа 2011

Я создал файлы dll и tbl из C # Visual Studio 2008.

I Regasm AssemblyName.dll /tlb: FileName.tlb /codebase, чтобы зарегистрировать его на моем локальном сервере.

Используйте ссылку tlb.Скомпилируйте его, он отлично работает на моем ПК для разработки.

После того, как я запустил исполняемый файл, запустите его на другом ПК, появится сообщение об ошибке «ActiveX не удалось создать объект».

Нужно ли мнев Regasm для каждой машины, на которой я выполняю развертывание?

Что если в ПК для развертывания нет Visual Studio?Regasm не может быть найден.

Ответы [ 3 ]

1 голос
/ 11 августа 2011

Да, вам нужно сделать это как часть установки. Но это только часть. Вы также должны разметить все открытые методы с помощью атрибутов, чтобы убедиться, что перекомпиляция случайно не скомпилирует методы в неправильном порядке. Смотри это

0 голосов
/ 11 августа 2011

Да, вам нужно будет запустить RegAsm на каждом клиентском компьютере.Если ваш компонент изменится, вам нужно будет запустить RegAsm ... /unregister, замените его на новый и снова запустите RegAsm.

Для того, чтобы ваша C # DLL работала, вам потребуется соответствующая платформа, установленная нана компьютере (в вашем случае .NET Framework 3.5)

Я хотел бы рассмотреть возможность использования установщика, поскольку он может выполнять некоторые тяжелые работы по регистрации / отмене регистрации и автоматической установке платформы, если требуется.

0 голосов
/ 11 августа 2011

Да, я думаю, вам нужно сделать это как часть вашей установки.

...