none
Error al crear el formulario. Excepción CrystalDecisions.Shared.SharedUtils RRS feed

  • Pregunta

  • Buenas, recurro a este gran foro para ver si me podéis echar una mano con un problema que me trae de cabeza. Estoy desarrollando una aplicación Windows Forms en VS2013 mediante vb.net y .NET Framework 4.0. Vaya por delante que estoy muy verde aún en temas de programación, y con Crystal Reports ya ni os cuento.

    El caso es que, dado un report creado previamente en el proyecto, se abre mediante código en el evento load del form, aquí el código:

    Public Class frm_imprimir_lista_usuarios
    
        Private Sub _02RepListaUsers_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    
            Me.Lista_UsuarioTableAdapter.Fill(Me.TavosViews.Lista_Usuario)
    
            Dim cryFicha As New rpt_Lista_Usuarios()
            cryFicha.SetDataSource(Me.TavosViews)
            crvListaUsuarios.ReportSource = cryFicha
    
        End Sub
    End Class

    En el equipo donde estoy haciendo el programa funciona perfectamente. En este PC tengo instalado VS2013, el componente para utilizar Crystal Reports y la base de datos de donde recoge los datos a mostrar (SQL Server 2008 R2). El problema viene cuando trato de abrir este mismo form desde otro equipo, obtengo siempre este error:

    He probado a instalar el Runtime de Crystal Reports (CRRuntime_64bit_13_0_11) en el pc cliente y nada, el error persiste. ¿Alguna idea? Como siempre agradecer de antemano vuestra ayuda.

    martes, 3 de febrero de 2015 18:37

Respuestas

  • SOLUCIONADO

    Parece ser que, tras mucho batallar, he dado con la solución. Comparto por si en el futuro pudiera ser de utilidad para algún novato como yo. Por lo visto el error estaba en dos aspectos: 

    1. El runtime instalado en el equipo cliente era incorrecto. Hay dos versiones del runtime, 32 y 64 bits y yo, creyendo que tenía que instalarse la que corresponde a la versión del SO (en este caso Windows 7 64 bits) pues la cagaba estrepitosamente. La versión tiene que corresponderse con la que usamos en el proyecto, por lo que si estamos desarrollando una aplicación de 32bits (o x86, como más rabia os de), instalar el runtime de 64bits en el equipo cliente os dará el fallo mencionado.
    2. A la hora de generar el proyecto hay que excluir toda .dll tanto CrystalReports, como CrystalDecisions, así como el archivo log4net.dll
    3. Finalmente y debido a un bug de Crystal Reports, aconsejan desde la web copiar el siguiente archivo log4net.dll en el directorio siguiente: C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet. A continuación dejo link:

    http://goo.gl/PfAU6A

    A mi me ha funcionado así que ahora puedo dedicarme a otros menesteres :)

    • Propuesto como respuesta Jairo Garzón martes, 26 de mayo de 2015 16:45
    • Marcado como respuesta cmg_84 miércoles, 1 de julio de 2015 16:44
    miércoles, 4 de febrero de 2015 16:39

Todas las respuestas

  • Pongo el error completo que me lanza el programa

    Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración 
    Just-In-Time (JIT) en lugar de a este cuadro de diálogo.

    ************** Texto de la excepción **************
    System.InvalidOperationException: Error al crear el formulario. Consulte Exception.InnerException para obtener más detalles. Error: Se produjo una excepción en el inicializador de tipo de 'CrystalDecisions.Shared.SharedUtils'. ---> System.TypeInitializationException: Se produjo una excepción en el inicializador de tipo de 'CrystalDecisions.Shared.SharedUtils'. ---> System.IO.FileNotFoundException: No se puede cargar el archivo o ensamblado 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' ni una de sus dependencias. El sistema no puede encontrar el archivo especificado.
       en CrystalDecisions.Shared.SharedUtils..cctor()
       --- Fin del seguimiento de la pila de la excepción interna ---
       en CrystalDecisions.Shared.SharedUtils.get_CurrentControl()
       en CrystalDecisions.Shared.SharedUtils.GetEffectiveCulture()
       en CrystalDecisions.Shared.LocaleManager..ctor()
       en CrystalDecisions.Windows.Forms.CrystalReportViewer.InitReportViewer()
       en CrystalDecisions.Windows.Forms.CrystalReportViewer..ctor()
       en tavos.frm_imprimir_ficha_usuario.InitializeComponent() en C:\Users\PC\Desktop\0.0.9.13\Forms\7_basedatos\Datos_generales\Usuarios\frm_ImprFichaUser.Designer.vb:línea 31
       en tavos.frm_imprimir_ficha_usuario..ctor()
       --- Fin del seguimiento de la pila de la excepción interna ---
       en tavos.My.MyProject.MyForms.Create__Instance__[T](T Instance) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 190
       en tavos.My.MyProject.MyForms.get_frm_imprimir_ficha_usuario()
       en tavos.frm_gest_user.Imprimir(Object sender, EventArgs e) en C:\Users\PC\Desktop\0.0.9.13\Forms\7_basedatos\Datos_generales\Usuarios\frm_GestUser.vb:línea 178
       en System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
       en System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
       en System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
       en System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
       en System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
       en System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
       en System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
       en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       en System.Windows.Forms.Control.WndProc(Message& m)
       en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       en System.Windows.Forms.ToolStrip.WndProc(Message& m)
       en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Ensamblados cargados **************
    mscorlib
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    tavos
        Versión del ensamblado: 0.0.9.13
        Versión Win32: 1.0.0.0
        Código base: file:///F:/Debug/tavos.exe
    ----------------------------------------
    Microsoft.VisualBasic
        Versión del ensamblado: 10.0.0.0
        Versión Win32: 12.0.51209.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System.Windows.Forms
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34238 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Runtime.Remoting
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34245 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    System.Configuration
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Data
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Core
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Xml
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34234 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Transactions
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
    ----------------------------------------
    System.EnterpriseServices
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
    ----------------------------------------
    System.Windows.Forms.resources
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.18408 built by: FX451RTMGREL
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    System.Numerics
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
    ----------------------------------------
    System.Data.DataSetExtensions
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
    ----------------------------------------
    Accessibility
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34209 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    ----------------------------------------
    CrystalDecisions.Windows.Forms
        Versión del ensamblado: 13.0.2000.0
        Versión Win32: 13.0.11.1467
        Código base: file:///C:/Windows/assembly/GAC_MSIL/CrystalDecisions.Windows.Forms/13.0.2000.0__692fbea5521e1304/CrystalDecisions.Windows.Forms.dll
    ----------------------------------------
    CrystalDecisions.Shared
        Versión del ensamblado: 13.0.2000.0
        Versión Win32: 13.0.11.1467
        Código base: file:///C:/Windows/assembly/GAC_MSIL/CrystalDecisions.Shared/13.0.2000.0__692fbea5521e1304/CrystalDecisions.Shared.dll
    ----------------------------------------
    CrystalDecisions.ReportSource
        Versión del ensamblado: 13.0.2000.0
        Versión Win32: 13.0.11.1467
        Código base: file:///C:/Windows/assembly/GAC_MSIL/CrystalDecisions.ReportSource/13.0.2000.0__692fbea5521e1304/CrystalDecisions.ReportSource.dll
    ----------------------------------------
    System.Web
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.34237 built by: FX452RTMGDR
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
    ----------------------------------------
    mscorlib.resources
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.0.30319.18408 built by: FX451RTMGREL
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_es_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------
    Microsoft.VisualBasic.resources
        Versión del ensamblado: 10.0.0.0
        Versión Win32: 11.0.50938.18408 built by: FX451RTMGREL
        Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/v4.0_10.0.0.0_es_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll
    ----------------------------------------

    ************** Depuración JIT **************
    Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
    aplicación o equipo (machine.config) debe tener el
    valor jitDebugging establecido en la sección system.windows.forms.
    La aplicación también se debe compilar con la depuración
    habilitada

    Por ejemplo:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>

    Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
    se enviará al depurador JIT registrado en el equipo
    en lugar de controlarlo mediante el cuadro de diálogo.

    Estoy mirando en el menú de Archivos de Aplicación a ver si puedo incluir la biblioteca log4net.dll en el resultado de la aplicación cada vez que se genere pero nada, es inútil. Sigo necesitando una mano ^^'

    miércoles, 4 de febrero de 2015 9:41
  • SOLUCIONADO

    Parece ser que, tras mucho batallar, he dado con la solución. Comparto por si en el futuro pudiera ser de utilidad para algún novato como yo. Por lo visto el error estaba en dos aspectos: 

    1. El runtime instalado en el equipo cliente era incorrecto. Hay dos versiones del runtime, 32 y 64 bits y yo, creyendo que tenía que instalarse la que corresponde a la versión del SO (en este caso Windows 7 64 bits) pues la cagaba estrepitosamente. La versión tiene que corresponderse con la que usamos en el proyecto, por lo que si estamos desarrollando una aplicación de 32bits (o x86, como más rabia os de), instalar el runtime de 64bits en el equipo cliente os dará el fallo mencionado.
    2. A la hora de generar el proyecto hay que excluir toda .dll tanto CrystalReports, como CrystalDecisions, así como el archivo log4net.dll
    3. Finalmente y debido a un bug de Crystal Reports, aconsejan desde la web copiar el siguiente archivo log4net.dll en el directorio siguiente: C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet. A continuación dejo link:

    http://goo.gl/PfAU6A

    A mi me ha funcionado así que ahora puedo dedicarme a otros menesteres :)

    • Propuesto como respuesta Jairo Garzón martes, 26 de mayo de 2015 16:45
    • Marcado como respuesta cmg_84 miércoles, 1 de julio de 2015 16:44
    miércoles, 4 de febrero de 2015 16:39
  • ERES MUY GENTIL POR ESA RESPUESTA GRACIAS.

    SOLUCIONADO

    Parece ser que, tras mucho batallar, he dado con la solución. Comparto por si en el futuro pudiera ser de utilidad para algún novato como yo. Por lo visto el error estaba en dos aspectos: 

    1. El runtime instalado en el equipo cliente era incorrecto. Hay dos versiones del runtime, 32 y 64 bits y yo, creyendo que tenía que instalarse la que corresponde a la versión del SO (en este caso Windows 7 64 bits) pues la cagaba estrepitosamente. La versión tiene que corresponderse con la que usamos en el proyecto, por lo que si estamos desarrollando una aplicación de 32bits (o x86, como más rabia os de), instalar el runtime de 64bits en el equipo cliente os dará el fallo mencionado.
    2. A la hora de generar el proyecto hay que excluir toda .dll tanto CrystalReports, como CrystalDecisions, así como el archivo log4net.dll
    3. Finalmente y debido a un bug de Crystal Reports, aconsejan desde la web copiar el siguiente archivo log4net.dll en el directorio siguiente: C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet. A continuación dejo link:

    http://goo.gl/PfAU6A

    A mi me ha funcionado así que ahora puedo dedicarme a otros menesteres :)



    Jairo Garzón Forero - MSDN.COM/ES-CO

    • Propuesto como respuesta WNG Tech lunes, 8 de junio de 2015 15:00
    • Votado como útil cmg_84 miércoles, 1 de julio de 2015 16:44
    martes, 26 de mayo de 2015 16:45
  • A mi se me presento un problema semejante cuando instale una aplicación en VS2010, me arrojaba el error de las librerias de Crystal.Decisions y lo solucione instalando el siguiente archivo:

    •   CRRuntime_32bit_13_0_1.msi

    Tambien esta la versión en 64bits

    •   CRRuntime_64bit_13_0_1.msi
    lunes, 8 de junio de 2015 15:05
  • Buen día comunidad desarrolladora.

    Quiero agradecer a Jairo Garzón por tomar de su tiempo para darnos la solución a este error, el cual, a mi también me tenía trabajando extras.

    Apliqué la metodología propuesta y logré solucionarlo:

    A_ Quitar todas las versiones de Crystal.

    B_ Asegurar instalar sólo CRRuntime_32bit_13_0_1.

    C_ Copiar el archivo: log4net32.dll en la ruta: C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet

    miércoles, 1 de julio de 2015 15:03
  • Jairo Garzón no, fui yo el creador original de este hilo, el que encontró la respuesta. Jairo se ha limitado a citar mi mensaje original. En cualquier caso me alegra que te haya funcionado, pero si tenéis que proponer un mensaje como respuesta, que sea el mío y los puntos vengan a mi :)
    miércoles, 1 de julio de 2015 16:44
  • Muchas gracias, tu solución fue mi respuesta.
    sábado, 9 de enero de 2016 17:12
  • Muchas gracias :)
    sábado, 6 de febrero de 2016 20:46
  • Me hice un perfil solamente para poder agradecerte por compartir tu experiencia y solución. La información que aportaste resolvió mi inconveniente.

    Gracias!

    martes, 8 de agosto de 2017 15:20
  • Excelente respuesta, me diste una buena seña y efectivamente sólo cambié a la CPU de destino, mi caso x86 y dejé todas las librerías de CrystalReports generadas por compilador y funcionó perfecto, muchas gracias
    domingo, 15 de julio de 2018 8:48