Cita:
Iniciado por Gerard93 Hola antvo
¿como hago eso?
Pues bien el GAC es la cachè global de ensamblados (Global assembly cache por sus siglas en ingles)del Sistema operativo, en el se instalan ensamblados (bibliotecas dll) que seran compartidas por varias aplicaciones, asi las app pueden buscar ahi las bibliotecas de las cuales necesitan alguna funcion.
¿cuando se instalan en c?
El GAC es del sistema operativo y las dll se instalan con paquetes redistribuibles, creo que visual studio instala el paquete de crystal en su instalacion
suponiendo que no instale el paquete de redistribución del crystal?
Creo que puedes copiar las dll que usaras atraves de la consola "cmd", accedes al GAC con la ruta que te dije y las copias ahi hay un comando para copiarlas pero ahorita no lo recuerdo
Te comparto un link
https://msdn.microsoft.com/es-es/lib...vs.110%29.aspx
Me alegra mucho que te haya funcionado
Gracias!!!, fíjate que me funciono y luego ya no, esto de luego ya no fue a causa de que modifique el procedimiento almacenado para incluir mas campos y una imagen(como bits) que le mando al crystal como parámetro adicional con estas modificaciones me funciona correctamente en mi equipo de desarrollo
pero al pasarlo a producción no me funciona me aparece error de "Database logon failed".
Aquí el detalle del error :
Código C:
Ver originalServer Error in '/' Application.
Database logon failed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: Database logon failed.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[COMException (0x8004100f): Database logon failed.]
CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +381
[LogOnException: Database logon failed.]
CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +863
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +512
CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +779
CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext) +180
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToDisk(ExportFormatType formatType, String fileName) +336
En cuanto al código c# del desarrollo tengo lo siguiente. es una descarga del reporte mediante pdf el cual llama a crystal report y se le mandan parámetros para que crystal llame a un procedimiento almacenado y aparte le mando una imagen en bits a crystal para que lo muestre en el reporte(esto funciona bien localmente pero no en el server windows 2008 64bits, mi equipo es de 32 bits y lo cambio a que compile para 64 bits):
Código C:
Ver originalReportDocument crystalReport = new ReportDocument();
string c = System.AppDomain.CurrentDomain.BaseDirectory.ToString() +"Sitio\\Reportes\\ResumenNomina.rpt";
string imgfirma = System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Recursos\\Imagenes\\FotosEmpleados\\FirmaJose.png";
crystalReport.Load(c);
crystalReport.SetParameterValue("@img", imgfirma);
crystalReport.SetParameterValue("@Semana", Convert.ToInt32(rcbSemanaFiltro.SelectedValue));
crystalReport.SetParameterValue("@TipoNominaID", "1");
crystalReport.SetParameterValue("@Tipo", "ResumenRpt");
crystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"C:\Resumennomina.pdf");
crystalReport.Close();
Del código anterior también probé agregándole la conexión a la base de datos pero tampoco, los datos de la conexione están bien por que lo uso en toda la aplicación solo que explicitamente no lo meto en las lineas anteriores pero probé agregándolas para no descartar pero aun así marca lo mismo cuando lo pongo en el servidor, también modifique el archivo del reporte de crystal en propiedades colocándole que Build Action =Content y Copy to output=Copy Always, agregue en el server en la carpeta Temp de Windows permiso de lectura y escritura para el pool que usa la aplicación de iis del usuario y ni así.
También probé cambiando la siguiente linea:
Código C:
Ver originalcrystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"C:\Resumennomina.pdf");
por esta otra:
Código C:
Ver originalcrystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "ResumenNomina");
y tampoco me funciono en el server pero localmente si,
alguna idea, estoy desesperado :(.
Gracias