ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Este es el foro para resolver dudas y hacer comentarios de las librerias DLL de generacion y timbrado que se ofrece aqui en el foro
alexlipl
Mensajes: 4
Registrado: Mar Dic 11, 2018 10:05 am

ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor alexlipl » Mar Dic 11, 2018 10:18 am

He estado desarrollando una aplicación asp.net con framework 4 en la cual estoy implementando la dll CFDLib, y estoy topandome con el siguiente error:

No se puede cargar el archivo DLL 'CFDLib.dll': No se puede encontrar el módulo especificado.

La libreria CFDLib se encuentra en la misma carpeta de la clase que la consume. Adjunto txt donde se encuentra la implementación.

La herramienta de desarrollo es Visual Studio 2010 Framework 4 en Windows 7 SP1.

Si alguien tiene alguna sugerencia o ha implementado algo similar agradeceria la orientación.
Adjuntos
ImplementacionCFDLib.txt
(7.55 KiB) Descargado 238 veces

Jesus Castelo
Mensajes: 384
Registrado: Lun Feb 14, 2011 7:37 pm

Re: ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor Jesus Castelo » Mar Dic 11, 2018 10:26 am

enum TError : byte
{
OK = 0,
Arch_No_Encontrado = 1,
Dato_Obligatorio = 2,
Problemas_Certificado = 3,
Vigencia_Certificado = 4,
LlavePrivada = 5,
Version_CFD_Invalida = 6,
ErrorGeneral = 7
};

/// <summary>
/// Esta es la funcion principal, toma un archivo tipo *.ini con la informacion necesaria
/// para crear la factura, si todo sale bien entonces devuelve un "OK", de otra forma devuelve
/// uno de los errores de la tabla TError
/// </summary>
[DllImport("CFDLib.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern TError GeneraCFD(string IniFileName, string ClaveLlavePrivada);


Si mal no recuerdo, junto con la librería viene un ejemplo para .net, pero básicamente es hacer lo que muestro arriba pero con cada función de la librería

alexlipl
Mensajes: 4
Registrado: Mar Dic 11, 2018 10:05 am

Re: ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor alexlipl » Mar Dic 11, 2018 12:13 pm

Buen día,

Jesus, así es, en el txt que adjunto en el mensaje viene así la implementación, el detalle es que no se si tenga que colocar los archivos en alguna ruta en especial, comence a colocarlos en la carpeta bin, despues los pase a la ruta raiz del sitio, y ahorita los deje en la carpeta App_Code, pero sigue sin encontrarla.

También en esta parte [DllImport("CFDLib.dll"... adicione lo siguiente "../", "./", etc, simulando la ruta raiz, pero aún así no funciona.

Desconozco si por ser un sitio haya que adicionar algo en el web.config.

Saludos.

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor Dado » Mar Dic 11, 2018 12:15 pm

Copialos tambien en %windows%/system32 y a %windows%/SYSWOW64
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

Jesus Castelo
Mensajes: 384
Registrado: Lun Feb 14, 2011 7:37 pm

Re: ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor Jesus Castelo » Mié Dic 12, 2018 10:41 am

alexlipl escribió:Buen día,

Jesus, así es, en el txt que adjunto en el mensaje viene así la implementación, el detalle es que no se si tenga que colocar los archivos en alguna ruta en especial, comence a colocarlos en la carpeta bin, despues los pase a la ruta raiz del sitio, y ahorita los deje en la carpeta App_Code, pero sigue sin encontrarla.

También en esta parte [DllImport("CFDLib.dll"... adicione lo siguiente "../", "./", etc, simulando la ruta raiz, pero aún así no funciona.

Desconozco si por ser un sitio haya que adicionar algo en el web.config.

Saludos.



Yo los puse en bin, pero también requieres de libeay32.dll, ssleay32.dll y creo que también stdole.dll

Otra es que no estén bien los permisos para acceder a la carpeta, tanto para leer como escribir. Ponle todos los permisos y luego le vas quitando

alexlipl
Mensajes: 4
Registrado: Mar Dic 11, 2018 10:05 am

Re: ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor alexlipl » Mié Dic 12, 2018 12:58 pm

DADO escribió:Copialos tambien en %windows%/system32 y a %windows%/SYSWOW64


DADO, respecto a lo que amablemente me compartiste me funciono para el error de que no encontraba la libreria, gracias por la recomendación.

Jesus Castelo escribió:
alexlipl escribió:Buen día,

Jesus, así es, en el txt que adjunto en el mensaje viene así la implementación, el detalle es que no se si tenga que colocar los archivos en alguna ruta en especial, comence a colocarlos en la carpeta bin, despues los pase a la ruta raiz del sitio, y ahorita los deje en la carpeta App_Code, pero sigue sin encontrarla.

También en esta parte [DllImport("CFDLib.dll"... adicione lo siguiente "../", "./", etc, simulando la ruta raiz, pero aún así no funciona.

Desconozco si por ser un sitio haya que adicionar algo en el web.config.

Saludos.



Yo los puse en bin, pero también requieres de libeay32.dll, ssleay32.dll y creo que también stdole.dll

Otra es que no estén bien los permisos para acceder a la carpeta, tanto para leer como escribir. Ponle todos los permisos y luego le vas quitando


Jesus, gracias por el comentario, también agregue los primeros dos archivos que comentas, dejame agregar el tercero porque no lo tengo.

Ahora bien el problema que tengo es que cuando llamo al metodo GeneraCFD, la página se queda pensando y no hace nada, de hecho tengo que cerrar la aplicación para volver a compilarla, de casualidad alguien sabe si los metodos tienen que llevar algo mas en la declaración. Dejo como mando llamar la función:

// Generamos el Xml para posteriormente timbrarlo
TError err = GeneraCFD(System.Web.HttpContext.Current.Server.MapPath(dstCFDI.Tables["CFDI"].Rows[0]["CFDIIni"].ToString()), dstCFDI.Tables["CFDI"].Rows[0]["LlavePrivada"].ToString());
if (err != TError.OK)
{
objEnComprobanteFiscal.Mensaje = "Error al generar el archivo Xml previo al timbrado.\r\rLibreria CFDILib.dll: " + GetError() + " " + GetErrorExt();
objEnComprobanteFiscal.EsError = 1;

return objEnComprobanteFiscal;
}

Como esta declarado en la parte inicial de la clase es de la siguiente manera:

[DllImport("CFDLib.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern TError GeneraCFD(string IniFileName, string ClaveLlavePrivada);

Alguien sabe si me falta declarar algo más.

Saludos.

alexlipl
Mensajes: 4
Registrado: Mar Dic 11, 2018 10:05 am

Re: ASP.NET No se puede cargar el archivo DLL CFDLib.dll

Mensajepor alexlipl » Mié Dic 12, 2018 1:25 pm

Buen día,

Les comparto que se queda colgada la aplicación al llamar el metodo GeneraCFD y TimbrarCFD con la libreria CFDLib.dll versión V3.3.181102, la cual adquiri recientemente con la actualización de la cancelación de Nov 2018.

Como tengo la versión anterior V3.3.180203 invoco a los metodos descritos anteriormente y ya no se queda colgada la aplicación, ya intenta realizar los procesos, aún no logro generar el xml, pero ya voy avanzando.

Me pueden ayudar a determinar si la versión V3.3.181102 trae algún detalle.

Saludos.


Volver a “SOPORTE LIBRERIA CFDLib.dll, CELib.dll y RETLib.dll”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados