Membros Pro tryideas sistemas Postado 16 Agosto Membros Pro Postado 16 Agosto Boa tarde, conforme avaliado a demo em c# de vocês vi que fizeram o carregamento da biblioteca dinâmico para as dlls por exemplo acbrnfse.dll sendo x64 ou x86, quanto a isso não tenho dúvidas, mas referente as dll de dependencias, tais como opensll, wincrypt, etc. essas pelo que identifiquei elas sempre buscam na raiz, é possivel fazer de forma dinamica essas dependencias também? estou usando as proprias dlls distribuidas nas versões
Fundadores Daniel Simoes Postado 16 Agosto Fundadores Postado 16 Agosto Na verdade é o Sistema Operacional que tem uma lógica de buscas por DLLs no Path da máquina Mas o primeiro lugar que ele procura é na mesma pasta do Binário que esta tentando carregar a DLL... Portanto experimente copiar as DLLs de dependência, na mesma pasta de acbrnfse.dll Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Membros Pro tryideas sistemas Postado 16 Agosto Autor Membros Pro Postado 16 Agosto tentei, não deu certo criei pastas dentro do projeto para x64 e x86 isoladas, e adicionei a dll acbrnfse.dll e as respectivas dependencias de S.O., mas sem sucesso
Fundadores Daniel Simoes Postado 16 Agosto Fundadores Postado 16 Agosto não.. você precisa copiar as DLLs exatamente na mesma pasta da acbrnfse.dll e não em subpastas Exemplo: acbrnfse.dll, libcrypto-1_1.dll, libssl-1_1.dll devem estar no mesmo diretório 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Membros Pro tryideas sistemas Postado 19 Agosto Autor Membros Pro Postado 19 Agosto (editado) Foi o que fiz, tenho a pasta raiz onde tem o executavel do projeto, ai tem a pasta ACBr em seguida X64 e x32 "./ACBr/X64/" ./ACBr/x32/..." dentro dela tem todas as dlls Editado 19 Agosto por tryideas sistemas
Fundadores Daniel Simoes Postado 19 Agosto Fundadores Postado 19 Agosto Qual a exata msg de erro, que você está recebendo ? Certeza que o seu programa está carregando a ACBrNFSe64.dll, dessa pasta ? @antonio.carlos, tem alguma dica ? Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Consultores antonio.carlos Postado 19 Agosto Consultores Postado 19 Agosto 14 minutos atrás, tryideas sistemas disse: Foi o que fiz, tenho a pasta raiz onde tem o executavel do projeto, ai tem a pasta ACBr em seguida X64 e x32 "./ACBr/X64/" ./ACBr/x32/..." dentro dela tem todas as dlls Esta usando C# ? Se sim, renomeie a pasta ACBr para ACBrLib.. ACBrLib/x64 ou ACBrLib/x86
Membros Pro tryideas sistemas Postado 19 Agosto Autor Membros Pro Postado 19 Agosto 1 hora atrás, antonio.carlos disse: Esta usando C# ? Se sim, renomeie a pasta ACBr para ACBrLib.. ACBrLib/x64 ou ACBrLib/x86 fiz o teste mas o problema ainda continua o erro que é retornado Situação: - Erro:99999 - Descrição:Erro ao inicializar a Biblioteca LibXML2 não sei se é relevante mas estou usando Cdecl
Membros Pro tryideas sistemas Postado 19 Agosto Autor Membros Pro Postado 19 Agosto estava vendo o codigo de vocês porem não estou encontrando onde é chamado o loadLib do ACBrLibXml2.pas
Consultores antonio.carlos Postado 19 Agosto Consultores Postado 19 Agosto 45 minutos atrás, tryideas sistemas disse: fiz o teste mas o problema ainda continua o erro que é retornado Situação: - Erro:99999 - Descrição:Erro ao inicializar a Biblioteca LibXML2 não sei se é relevante mas estou usando Cdecl Sua aplicação esta carregando uma ACBrLibNFSe, de onde não existe as dlls de dependências junto a ela.. por isso o motivo do erro de não conseguir inicializar.. Faça uma busca em sua maquina, apague todas as ACBrLibs que encontrar.. após isso, cole somente uma para pasta ACBrLib/x86 ou ACBrLib/x64..
Membros Pro Solution tryideas sistemas Postado 19 Agosto Autor Membros Pro Solution Postado 19 Agosto achei uma solução para o problema, alterando o SetDllDirectory [DllImport("kernel32.dll", SetLastError = true)] public static extern bool SetDllDirectory(string lpPathName); 3
Consultores antonio.carlos Postado 19 Agosto Consultores Postado 19 Agosto Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
Recommended Posts