Ir para conteúdo
  • Cadastre-se

dev botao

Caminho acbrlib online


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1371 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Dll acbrboleto64.dll está em cdecl

Para publicar o projeto, preciso antes alterar o caminho ?  Fiz nesse formato abaixo para alterar caminho do acbrboleto64.dll mas ainda não funcionou.

No acbrlibhande.cs

static ACBrLibHandle()
        {
            MinusOne = new IntPtr(-1);           
            var path = System.Web.HttpContext.Current.Server.MapPath("~/bin/ACBrLib/x64/");
            Environment.SetEnvironmentVariable("PATH", path);
        }

Na pasta do projeto Mvc que criei, fui em adicionar referencia >  Projetos > e adicionei as dll ACBrLib.Boleto.dll e ACBrLib.Core.dll .

Minha aplicação no Windows Server 2016 está em " C:/TesteBoleto "  

Vi que a mensagem mostra o caminho d:/c#/boleto/Imports/AcbrLib.Core .... O erro está sendo no caminho ? pois esta buscando no d: , no servidor ? Como altera esse caminho ?

erro online.png

Postado (editado)
1 hora atrás, Daniel Simoes disse:

Você está usando Linux ou Windows ??
DLL é apenas para o Wndows.. mas você está usando um Path com a sintaxe de Linux...

Obrigado pelo retorno, uso windows server 2016.

var path = System.Web.HttpContext.Current.Server.MapPath("~/bin/ACBrLib/x64/");       

path Linux ? Preciso alterar Environment.SetEnvironmentVariable("PATH", path) ?

eu utilizei tudo igual está na demo. Na minha maquina local funciona normal. Ja gera os boletos. Somente no server online que da esse erro.

Editado por Gustavo M
Postado

Abrir a demo acbrlib boleto em c# realizei testes e funcionou.

Depois criei um novo projeto dentro da demo mesmo, o projeto é .net mvc.

Nesse projeto inclui fui em adicionar referencia >  Projetos > e adicionei as dll ACBrLib.Boleto.dll e ACBrLib.Core.dll .

Criei BoletoController:

public ActionResult Index()
        {

boleto = new ACBrBoleto();                               
            
            var config = boleto.ConfigurarDados(Server.MapPath("~/Arquivos/ImobBoleto.ini"));           
            var ret = boleto.IncluirTitulos(titulo);

            boleto.GerarPDF();
 }

Testei e na minha maquina local funcionou tanto no windows 10 e no windows 7.

Depois fui em publicar e salvei os arquivos publicados em uma pasta.

Servidor: 

No windows server 2016 > criei um website e envie esses arquivos publicados.

E quando abro a mesma url da esse erro:

4 horas atrás, Gustavo M disse:

erro online.png

 

Depois fui em ACBrLibHandle.cs para testar ver se tinha a ver com esse caminho e fiz essa alteração nessa função

 static ACBrLibHandle() 

var path = System.Web.HttpContext.Current.Server.MapPath("~/bin/ACBrLib/x64/");        //alterei esse path

mas não funcionou.

Postado

Coloquei todas as pastas la e também redireicionar o path do iis pra a pasta dos arquivos, mas não abre. 

dll 64 coloquei tambem na pasta system32 e nada.

Quando estou publicando, estou indo direto no projeto mvc, sera que não está buscando path das class library que são acbrboleto.cs e acbrlibhande.cs ?

mas ja até coloquei essas class library nas pastas onde supostamente estava dando erro igual no print, mas não abre. 

Alguma outra sugestão ? Tem algum tutorial do acbr pra web ?

  • Fundadores
  • Solution
Postado

Quem carrega uma Lib (DLL), sempre será o sistema operacional... o seu programa apenas solicita para ela ser carregada...

Pode ser que uma Lib, tenha dependência de várias outras Libs... Exemplo.. as Libs do ACBr tem várias dependências, que estão na pasta "DEP" do arquivo ZIP.

Várias DLLs são compiladas em Visual C++.. o que causa a dependência do RunTime... você pode baixar todas as verões do MS Visual C++ RunTime, nessa página:

https://github.com/abbodi1406/vcredist/releases

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.

×
×
  • 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.