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.
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 –
danke trotzdem, ich musste nur die Build-Aktion meiner Berichtsdatei auf Inhalt setzen –