Usuários SAC Gustavo M 0 Posted February 19 Usuários SAC Report Share Posted February 19 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 ? Link to post Share on other sites
Fundadores Daniel Simoes 8,703 Posted February 19 Fundadores Report Share Posted February 19 Você está usando Linux ou Windows ?? DLL é apenas para o Wndows.. mas você está usando um Path com a sintaxe de Linux... 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. Link to post Share on other sites
Usuários SAC Gustavo M 0 Posted February 19 Author Usuários SAC Report Share Posted February 19 (edited) 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. Edited February 19 by Gustavo M Link to post Share on other sites
Fundadores Daniel Simoes 8,703 Posted February 19 Fundadores Report Share Posted February 19 Vamos por partes... Você está rodando um API, correto ? em qual servidor Web ela roda ? Essa máquina é Windows ou Linux ? 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. Link to post Share on other sites
Usuários SAC Gustavo M 0 Posted February 19 Author Usuários SAC Report Share Posted February 19 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: 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. Link to post Share on other sites
Fundadores Daniel Simoes 8,703 Posted February 19 Fundadores Report Share Posted February 19 33 minutos atrás, Gustavo M disse: ~/bin/ACBrLib/x64/ Isso não parece ser um Path válido para Windows... 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. Link to post Share on other sites
Usuários SAC Gustavo M 0 Posted February 19 Author Usuários SAC Report Share Posted February 19 Server.Mappath Retorna o caminho de arquivo físico que corresponde ao caminho virtual especificado. Segue print Link to post Share on other sites
Fundadores Daniel Simoes 8,703 Posted February 20 Fundadores Report Share Posted February 20 Experimente jogar as DLLs na pasta do Windows... (para DLLs de 64 bits.. use a pasta Windows\System32) 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. Link to post Share on other sites
Usuários SAC Gustavo M 0 Posted February 22 Author Usuários SAC Report Share Posted February 22 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 ? Link to post Share on other sites
Fundadores Solution Daniel Simoes 8,703 Posted February 22 Fundadores Solution Report Share Posted February 22 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 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. Link to post Share on other sites
Recommended Posts