Pergunta

Quero saber se é possível registrar uma biblioteca de tipos sem usar o Ferramenta de RegAm. Aqui está minha situação, que esperamos explicar por que eu quero fazer isso:

Estou desenvolvendo uma montagem no .NET que fornecerá alguma funcionalidade moderna para nossos aplicativos VB6 mais antigos. Registrei com sucesso a assembléia e a biblioteca de tipos na minha máquina de desenvolvimento usando o Regam como assim:

regasm.exe MyAssembly.dll /tlb /codebase

O comando acima gera a biblioteca de tipos (myassembly.tlb) e registra -a, além de registrar a montagem. Preciso da biblioteca de tipos registrada para que eu possa ter o IntelliSense no VB6.

Meu problema com este método é que eu não tenho o mesmo nível de controle ao gerar o arquivo de biblioteca do tipo que eu Tlbexp.exe. Em particular, eu preciso usar o sinalizador TLBEXP /nomes para Especifique o caso correto dos meus nomes de propriedades (regasm os massacra). Portanto, se eu usar o TLBEXP para gerar meu arquivo TLB, existe alguma maneira de registrá -lo separadamente do processo de registro de montagem?

Editar: A resposta de Da_M_N está correta para a pergunta que fiz. No entanto, eu estava sob a suposição defeituosa de que, apenas porque o ReGasm poderia registrar uma biblioteca de tipos de que era necessário registrar o TLB para fazer referência a ele no VB6. Então, por enquanto, estou registrando a Assembléia e referenciando o TLB gerado por TLBEXP não registrado com os nomes fixos.

Foi útil?

Solução

Use regtlib.exe para registrar o arquivo TLB gerado por TLBEXP.

Outras dicas

regtlib.exe não está disponível nas plataformas Win10. Use o apropriado TlbExp.exe Como encontrado no .NET SDK correspondente (por exemplo "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\TlbExp.exe" "$(TargetDir)$(TargetFileName)" Vejo https://docs.microsoft.com/en-us/dotnet/framework/tools/tlbexp-exe-type-library-exporter).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top