Aquí os dejo un problema que me surgió con los Cristal reports cuando migre mi aplicación Web en Vb.Net del 2003 al 2005.
Sin cambiar ningún código, lo que funcionaba en 2003 , ahora en 2005 me daba un excepción en la siguiente línea:
RPT_General.SetDataSource(xsdGeneral)
La Excepción producida es:
Error de servidor en la aplicación '/MI_APLICACION_WEB'.
No se encuentra el informe en los recursos de manifiesto. Genere el proyecto y vuelva a intentarlo.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: CrystalDecisions.CrystalReports.Engine.LoadSaveRep ortException: No se encuentra el informe en los recursos de manifiesto. Genere el proyecto y vuelva a intentarlo.
El mensaje de Error en ingles es :
Unable to find the report in the manifest resources. Please build the project, and try again
Buscando y buscando información sobre el tema encontré la solución, parece ser, que la forma de cargar los informes es diferente, y el problema se da por que no encuentra el fichero RPT a cargar:
La forma que tenia yo de generar los informes en 2003 era:
Dim rptProy As New rptProyectos
para que funcione correctamente en 2005:
Dim rptProy As New ReportDocument
rptProy.Load("C:\Inetpub\wwwroot\MI_APLICACION_WEB \Reports\rptProyectos.rpt")
es decir que tienes que hacer un load de la ruta fisica donde se encuentra el fichero, tener en cuenta que esto deberá ser dinámico ya que lo mas seguro es que al desarrollarlo en local no sera la misma ruta que en producción. (podéis usar Server.MapPath para saber el directorio de la aplicación)
Espero que os sirva