2016-04-25 2 views
0

Ich versuche, meine Berichtsanzeige auf winforms zu laden, eine Crystal Report-Datei, wenn ich es auf meinem Visual Studio testen läuft alles gut, aber sobald ich es veröffentlichen, gibt es mir dies FehlerCrystal Report wird nicht auf veröffentlichte Software geladen

Just-in-Time (JIT) Debuggen anstelle dieses Dialogfelds.

************** Ausnahmetext ************** CrystalDecisions.Shared.CrystalReportsException: Ladebericht fehlgeschlagen. ---> System.Runtime.InteropServices.COMException: Nicht unterstützte Operation. Ein von der JRC-Engine verarbeitetes Dokument kann nicht im C++ - Stapel geöffnet werden. bei CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open (Object & DocumentPath, Int32 Optionen) bei CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open (Object & DocumentPath, Int32 Optionen) bei CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() - - Ende der Ausnahmestapelüberwachung --- bei CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() bei CrystalDecisions.CrystalReports.Engine.ReportDocument.Load (String Dateiname, OpenReportMethod openMethod, Int16 parentJob) bei CrystalDecisions.CrystalReports.Engine. ReportDocument.Load (String

Unten ist mein Code verwendet, um die Report-Datei

ReportDocument cryRpt = new ReportDocument(); 
     TableLogOnInfos crtableLogoninfos = new TableLogOnInfos(); 
     TableLogOnInfo crtableLogoninfo = new TableLogOnInfo(); 
     ConnectionInfo crConnectionInfo = new ConnectionInfo(); 
     Tables CrTables; 

     PayrollRep payrollrep = new PayrollRep(); 


     string myreportname = payrollrep.Name; 

     cryRpt.Load(Application.StartupPath + "\\PayrollRep.rpt"); 
     ////cryRpt.Load("PayrollRep.rpt"); 

     crConnectionInfo.ServerName = "xxxxx"; 
     crConnectionInfo.DatabaseName = "xxxx"; 
     crConnectionInfo.UserID = "xxxx"; 
     crConnectionInfo.Password = "xxxx"; 

     CrTables = cryRpt.Database.Tables; 
     foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables) 
     { 
      crtableLogoninfo = CrTable.LogOnInfo; 
      crtableLogoninfo.ConnectionInfo = crConnectionInfo; 
      CrTable.ApplyLogOnInfo(crtableLogoninfo); 
     } 

     crystalReportViewer1.ReportSource = cryRpt; 
     crystalReportViewer1.Refresh(); 

Ich bin ganz sicher, laden Sie es mit dem Ladeverzeichnis zu tun hat, da es nicht eingebettet ist, aber ich weiß nicht, den richtigen Weg, um den Weg zu bringen so dass es die Datei nach der Veröffentlichung findet.

Antwort

0

versuchen Sie, Laufzeit auf dem Computer zu installieren, auf dem Sie Ihre App ausführen möchten.

32 bit

64 bit

+0

Ich habe gerade meine Lösung auf diesem anderen Thread https://stackoverflow.com/questions/10833894/a-document-processed-by-the-jrc-engine-cannot- be-opened-in-the-c-stack –

+0

danke trotzdem, ich musste nur die Build-Aktion meiner Berichtsdatei auf Inhalt setzen –