Pergunta

Eu desenvolvi um componente com C # que estou usando de c conseguiu ++. Na minha máquina dev quando tudo funciona bem. No entanto, quando eu distribuir os arquivos, recebi um erro que o componente não foi registrado. Quando tento um regsvr32 na DLL que me dá um erro (C # DLLs não pode ser registrado). Como posso corretamente registrar este COM dll?

Foi útil?

Solução

Você pode usar regasm com /codebase (e ele precisa ser ComVisible [mas como Patrick McDonald corretamente poinhts para fora, você já tem passado que, como ele funciona localmente])

Outras dicas

Use RegAsm com /codebase siwtch se a sua montagem não está instalado no GAC (Global Assembly Cache).

detalhes de novos interruptores é aqui

Eu acho que você normalmente precisa fazer:

regasm /codebase

Devido COM precisa saber a localização exata de sua montagem para ser capaz de carregá-lo.

Como já foi sugerido, você precisará configurá-lo projeto C # como COM visíveis (configurações de projeto, aplicação, montagem botão de informação).

controle mais fino do que as classes são visíveis ou não podem ser obtidas utilizando o [ComVisible (verdadeiro)] / [ComVisible (falso)] atributo antes de cada classe

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