Ir para conteúdo
  • Cadastre-se

dev botao

ACBRLibNFe: Não foi possivel carregar a biblioteca na pasta da aplicação ou no caminho padrão [Docker Debian .net8.0]


Ver Solução Respondido por 4gsmart,

Recommended Posts

  • Membros Pro
Postado

Olá,

Estou desenvolvendo um micro serviço em .NET 8 que deverá rodar dentro de container Docker com imagem baseada em Debian. Essa aplicação será para emissão de documentos fiscais usando o ACBrLibNFe.

Estou enfrentando problemas ao rodar a aplicação onde explode a mensagem "Não foi possivel carregar a biblioteca na pasta da aplicação ou no caminho padrão: /app/ACBrLib/x64".

Dentro da pasta /app/ACBrLib/x64 eu já me certifiquei que o arquivo .so est lá

Já garimpei toda a documentação e o forum em busca de informações e dicas e até agora não obtive sucesso. Vi muita gente falando sobre as dependencias do libxml2, openssl, ajustar o openssl.cnf para o modo legacy e etc... Confesso que já bati muito a cabeça e até agora nada.

Seria possível alguém me ajudar com esse desafio? Vou anexar alguns prints para que possa ficar mais claro minhas tentativas até aqui, inclusive o Dockerfile que estou usando.

Obs: A aplicação roda 100% em Windows, mas meu ambiente de deploy/produção deve ser Linux, pois todos os outros micro serviços já rodam dessa forma.

Desde já agradeço.

erro-acbr.png

arquivos-acbr.png

openssl-legacy-acbr.png

Dockerfile

  • Fundadores
Postado

no Linux, as bibliotecas compartilhadas, devem ficar em pastas específica, o que pode variar de acordo com a Distro Linux

Você pode ler um pouco mais sobre isso em:

https://www.baeldung.com/linux/library_path-vs-ld_library_path

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
  • Solution
Postado

Consegui resolver o problema

Depois de muito bater cabeça e tb analisar outros post do fórum ajustei meu Dockerfile para iniciar uma instância do X do Linux e deu certo.

A mensagem do erro que estava estourando não é de fato o problema, e sim a questão da libacbrnfe64.so ter dependências da parte gráfica do Linux. Depois de instalado o pacote xvfb e aplicado o seguinte comando :

Xvfb :99 -screen 0 1280x1024x24 -ac +extension GLX +render -noreset &

Tudo funcionou perfeitamente.

  • Curtir 2
  • Membros Pro
Postado

Não tem ambiente gráfico, é um container Docker com imagem minimal do Linux Debian da própria Microsoft para o ASP.NET.

  • Curtir 2
  • Fundadores
Postado
Em 19/11/2024 at 11:37, 4gsmart disse:

Depois de muito bater cabeça e tb analisar outros post do fórum ajustei meu Dockerfile para iniciar uma instância do X do Linux e deu certo.

Aqui da a compreender que você instalou um ambiente gráfico

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.