Solución:
Esto es lo que funcionó para mí:
Si está instalando en una máquina de 64 bits, asegúrese de que las propiedades de la aplicación en la pestaña Compilar tengan “Cualquier CPU” como el destino de la plataforma y desmarque la casilla de verificación “Preferir 32 bits” si tiene la opción. Crystal es muy delicado acerca de los ensamblajes de 32/64 bits, y hace algunas suposiciones bastante contradictorias que son muy difíciles de solucionar.
Cuando un constructor estático lanza una excepción, se envuelve dentro de un TypeInitializationException
. Debe verificar el objeto de excepción InnerException
propiedad para ver la excepción real.
En un entorno de ensayo / producción (donde no tiene instalado Visual Studio), deberá:
- Rastrear / registrar la excepción y su InnerException (recursivamente): agregue un controlador de eventos al
AppDomain.UnhandledException
evento y ponga su código de registro / seguimiento allí. UsarSystem.Diagnostics.Debug.WriteLine
para rastreo, o un registrador (log4net, ETW). Se puede usar DbgView (una herramienta de Sysinternals) para ver el seguimiento de Debug.WriteLine. - Utilice un depurador de producción (como WinDbg o NTSD) para diagnosticar la excepción.
- Utilice la depuración remota de Visual Studio para diagnosticar la excepción (lo que le permite depurar el código en la computadora de destino desde su propia computadora de desarrollo).
Tuve un mensaje similar y después de varias búsquedas en línea y haciendo todas las sugerencias, nada ayudó. Finalmente encontré la solución. En mi servidor IIS, en la opción de avance del grupo de aplicaciones, hay una opción para “Habilitar aplicaciones de 32 bits”, que se cambió de falso a verdadero y, después de reiniciar el servidor IIS, Mi programa comenzó a generar archivos pdf.