REGISTRAR DLL VB.NET PARA USAR NO VB6

DAVISABANELI 30/08/2023 13:29:50
#501688
Boa tarde, tudo bem? Preciso registrar uma DLL feita em .NET para usar no VB6. Ja pesquisei muito, ja fiz de tudo.
Meu Projeto esta marcado:
- Make assembly COM-visible
- Register for COM interop

Quando instalo o setup nao esta registrando, entao eu testei "RegAsm c:\Sabtech\SabtechPME_2020\System\Plataforma.BibAutoSystem.dll /register /codebase /tlb" mas no VB6 da erro "Classe nao registrada". Eu criei um projeto novo sem nada, so com uma funcao o VB6 aceitou, mas o projeto que eu preciso ele nao aceita.

Não sei mais o que fazer, estou desesperado, preciso de ajuda. Alguem já passou por isso? Obrigado!
LUIZCOMINO 01/09/2023 15:33:42
#501694
Alterado em 01/09/2023 15:38:37 O que você precisa é adicionar no vb6 é a tlb nas referências do projeto, e se for gerar o pacote de instalação precisa colocar a .tlb + .dll
DAVISABANELI 03/09/2023 17:52:55
#501698
Depois de muita pesquisa e apanhar muito eu consegui registrar e funcionar direitinho no VB6.
No .NET tem que fazer o padrao, em assembly information marcar a opção objeto COM e em complile tambem marcar a opção de objeto COM.

Quando criar o SETUP de instalação "NUNCA" peça para o setup registrar a DLL pq nao funciona. Até funcionava no VS 2008, mas depois que estou usando o VS2022 nao funciona. Entao depois de instalar ou somente copiar o projeto no computador voce registra a DLL utilizando o RegASM. Eu sugiro instalar de dentro da pasta do framework, pq eu tendei na pasta do projeto e nao funcionou. Como eu disse apanhei muito, mas foi assim que consegui fazer funcionar.

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319>

regasm "c:\pasta_do_app
ome_da_dll_que_vai_registrar.dll" /codebase /tlb

Obrigado!
Faça seu login para responder