PROBLEMAS COM REFERENCIA DE DLL.
Amigos bom dia,
Esta acontecendo uma situacao comigo que gostaria de partilhar com voces.. Tenho uma dll em c# com nome por exemplo Library.dll , essa dll eu referencio ela em um projeto do tipo forms, entao. vou em referencias e adiciono ela lá, logicamente na maquina de desenv a mesma funciona normalmente, mas quando vai para a maquina do cliente estou tendo que colocar essa dll no local onde esta o executavel, ou seja no mesmo path do exe, esta dando erro tipo.."Nao foi possivel carregar arquivo ou assembly "Library, version xxxxxx, culture neutral, publicKey token = null ou uma de suas dependencias, o sistema nao pode eoncontrar o arquivo especificado. Procurando na net estou vendo sobre Assembly.Load(path); .... mas nao tou entendendo muito bem o seguinte.. eu faco o uso da dll tipo using library; e nos locais e so faco a chamada das minhas funcoes.. tipo library.funcaoX( ... ) entao como eu vou passar para ela carregar esse assemblye no inicio aproveitando todas suas funcoes? desde ja agradeco.
Esta acontecendo uma situacao comigo que gostaria de partilhar com voces.. Tenho uma dll em c# com nome por exemplo Library.dll , essa dll eu referencio ela em um projeto do tipo forms, entao. vou em referencias e adiciono ela lá, logicamente na maquina de desenv a mesma funciona normalmente, mas quando vai para a maquina do cliente estou tendo que colocar essa dll no local onde esta o executavel, ou seja no mesmo path do exe, esta dando erro tipo.."Nao foi possivel carregar arquivo ou assembly "Library, version xxxxxx, culture neutral, publicKey token = null ou uma de suas dependencias, o sistema nao pode eoncontrar o arquivo especificado. Procurando na net estou vendo sobre Assembly.Load(path); .... mas nao tou entendendo muito bem o seguinte.. eu faco o uso da dll tipo using library; e nos locais e so faco a chamada das minhas funcoes.. tipo library.funcaoX( ... ) entao como eu vou passar para ela carregar esse assemblye no inicio aproveitando todas suas funcoes? desde ja agradeco.
não sei qual o gerador de instalação voce está usando, mas deve usar esse gerador para copiar a dll e colocá-la junto como o executável, aàresolve seu problema
Citação::
não sei qual o gerador de instalação voce está usando, mas deve usar esse gerador para copiar a dll e colocá-la junto como o executável, aàresolve seu problema
Entao amigo, eu nao posso fazer isso, pois a arquitetura atual do sistema aqui que é muito grande necessita de um exe por pasta, entao.. vamos supor.. na maquina vou ter 3 exes so que a dll eu preciso usar somente 1, copiando para o path funciona, mas eu nao quero é exatamente isso, para nao ter varias dll do mesmo assemblye, por isso preciso que todos os 3 exe vamos se dizer assim consiga enxergar essa dll por parametro, tipo, passo o caminho e tals para ela, e ela instancia . entendeu ? valeuuu..
No arquivo App.config do seu projeto:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="SuaPastaLibs"/>
</assemblyBinding>
</runtime>
</configuration>
Referencia
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="SuaPastaLibs"/>
</assemblyBinding>
</runtime>
</configuration>
Referencia
Citação::
No arquivo App.config do seu projeto:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="SuaPastaLibs"/>
</assemblyBinding>
</runtime>
</configuration>
Referencia
Eu ja tinha testado isso antes, nao funciona, simplesmente nao consegue achar o assembly, mesmo passando as configuracoes corretas.
Faz a instalação da sua dll no GAC (Global Assembly Cache)
Com isso sua dll vai ficar acessÃÂvel para qualquer aplicação, da mesma forma as dlls do .net Framework ficam acessÃÂveis sem precisar colocar na pasta da aplicação.
Segue o comand line para instalação
gacutil -i nome.dll
Com isso sua dll vai ficar acessÃÂvel para qualquer aplicação, da mesma forma as dlls do .net Framework ficam acessÃÂveis sem precisar colocar na pasta da aplicação.
Segue o comand line para instalação
gacutil -i nome.dll
Isso acontece por que a dll deve estar referanciada a alguma outra dll que não está disponÃÂvel no computador do cliente.
Verifique no projeto da dll que vc está omitindo alguma biblioteca. Copie ela para a pasta do cliente e tudo deverá funcionar
Verifique no projeto da dll que vc está omitindo alguma biblioteca. Copie ela para a pasta do cliente e tudo deverá funcionar
Faça seu login para responder