segunda-feira, 18 de maio de 2009

ASP clássico utilizando .NET 2005 classes (COM interop)

no visual studio 2005 vá em propriedades do projeto que deseja compartilhar (COM).

- na aba "application coloque um assemblyname forte (exemplo: nomedasuaempresa.nomedoseuprojeto)

- na aba "compile" marque a opção "Register for COM interop".

Dê build no projeto e pronto.

Depois vá na pasta bin do seu projeto e pegue a .dll e a .tlb e jogue dentro da pasta que desejar no servidor aonde está rodando a aplicação

para registrar no servidor:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe c:\pasta aonde você jogou a sua dll e o tlb\nomedasuaempresa.nomedoseuprojeto.dll /tlb: c:\pasta aonde você jogou a sua dll e o tlb\nomedasuaempresa.nomedoseuprojeto.tlb /codebase

*IMPORTANTE: REINICIAR O IIS LOGO APÓS O REGISTRO!!!

é necessário colocar a diretiva /codebase para registrar no registro do windows aonde está localizada a sua dll se não ele tenta pegar do diretório padrao do windows e dá erro... eu fiquei horas tentando saber o porque do erro em produção já que na minha máquina não dava erro... ai vi no regedit que em desenvolvimento tinha esse atributo "codebase" no registro e em produção não... eureka!

Nenhum comentário:

Postar um comentário