none
Crystal report arroja error en servidor de producción RRS feed

  • Pregunta

  • Hola soy nuevo en la comunidad espero poder encontrar una solución a mi problema...


    Actualmente estoy desarrollando una aplicación web mvc con .net framework y visual studio 2017 y necesito generar reportes, decidí usar crystal report y pues todo trabaja como debería hacerlo en mi estación de desarrollo pero al pasarlo al servidor de desarrollo tengo éste mensaje de error

    Unable to cast COM object of type 'CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass' to interface type 'CrystalDecisions.ReportAppServer.Controllers.ISCRReportSource'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{31E7715A-8AD0-4D1C-958E-C1BE0A6F2D0C}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

    He navegado por foros en busca de respuestas, he agregado el directorio /aspnet_client/system_web/4_0_30319/crystalreportviewers13  a mi proyecto y he hecho la siguiente modificación en mi web.config

     <configSections>
        <sectionGroup name="businessObjects">
          <sectionGroup name="crystalReports">
            <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
               <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
          </sectionGroup>
        </sectionGroup>
          </configSections>
      
        
      <businessObjects>
        <crystalReports>
          <rptBuildProvider>
            <add embedRptInResource="true" />
          </rptBuildProvider>
          <crystalReportViewer>
            <add key="ResourceUri" value="~/aspnet_client/system_web/4_0_30319/crystalreportviewers13" />
          </crystalReportViewer>
        </crystalReports>
      </businessObjects>

    seguido de esto he agregado dependentAssembly ya que el servidor en producción tiene soporte solamente para Crystal report SP19 32 Bits

    <assemblyBinding>
      <runtime>
         
          <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>    
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.Web" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.Windows.Forms" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.ClientDoc" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.CommonControls" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.CommonObjectModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.Controllers" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.CubeDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.DataDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.DataSetConversion" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>    
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.ObjectFactory" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.Prompting" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.ReportDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="CrystalDecisions.ReportAppServer.XmlSerialize" publicKeyToken="692fbea5521e1304" culture="neutral"/>
          <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
        </dependentAssembly>
        
        </assemblyBinding>
      </runtime>

    Esto en base a una respuesta que encontré navegando entre foros.

    Es primera vez que integro crystal report a un proyecto, como antes mencioné mi proveedor solamente cuenta con Crystal Reports para Visual Studio .NET Runtime - Version 13(SP19, 32-bit) , creo que éste es mi problema (lo és).

    Necesito saber que alternativas tengo, si hay solución mediante configuración o a fuerzas debo ultilizar la versión soportada.

    Desde ya gracias por el apoyo :)


    sábado, 21 de diciembre de 2019 18:11

Respuestas

  • Hola Pupuser:

    Lo único que puedes hacer i tienes que hacer es instalar el mismo runtime que tengas en tu crystal reports. 

    Localiza correctamente que runtime tienes instalado en tu ordenador y después descargas la instalación para runtime en el ordenador del usuario. Con ello tendrás las mismas librerías y las mismas versiones en los dos ordenadores.

    Un saludo.

    Gemma

    • Marcado como respuesta Pupuser martes, 24 de diciembre de 2019 13:37
    domingo, 22 de diciembre de 2019 19:44