Crystal Report wird nicht für 64-Bit-Maschinen geöffnet

8

Meine Berichte funktionieren auf einem 32-Bit-Gerät einwandfrei, werden aber nicht auf 64-Bit geöffnet. 64 Bit sind erforderlich, da das Laden von Daten auf einem der Bildschirme zu einem Speicherproblem führt - daher kann es nicht mit 32 Bit arbeiten.

  1. Windows 10 64 bit
  2. Installierte Crystal Reports Ich habe versucht, 13.0.20 (neuste Version) zu installieren und den PC neu zu starten, aber es hat nicht funktioniert.
  3. Application Target Framework 4.6.2 (ich habe es sogar unter 4.0 versucht, aber den gleichen Fehler)
  4. Verwenden der Visual Studio 2017 Community (ausprobiert VS 2015)
  5. Plattform x64 (nicht AnyCPU)
  6. Berichte werden generiert, indem DataTable übergeben wird, nicht aktiv Verbindung oder ConnectionString in Berichten
  7. Fehlermeldung

Bearbeiten # 1

  1. Web.config enthält useLegacyV2RuntimeActivationPolicy="true"
  2. DataTables in x86 und x64 sind dieselben

Bearbeiten Sie # 2

Quellcode zum Anzeigen des Berichts ist

%Vor%

Und frmReportViewer FormLoad ist

%Vor%

Bin ich irgendwo falsch gelaufen?

Bearbeiten Sie # 3

DataTable auf x86 und x64 sind gleich. (gespeichert die Daten in Xml und beide Dateien sind genau die gleichen).

Process Monitor zeigt an, dass mein Programm die Operation CreateFile für folgende Dateien durchführt

  

C: \ WINDOWS \ Microsoft.Net \ Assembly \ GAC_64 \ CrystalDecisions.Web \ v4.0_13.0.2000.0__692fbea5521e1304 \ CrystalDecisions.Web.dll   C: \ WINDOWS \ Microsoft.Net \ Assembly \ GAC_MSIL \ CrystalDecisions.Web \ v4.0_13.0.2000.0__692fbea5521e1304 \ CrystalDecisions.Web.dll   C: \ WINDOWS \ Microsoft.Net \ Assembly \ GAC \ CrystalDecisions.Web \ v4.0_13.0.2000.0__692fbea5521e1304 \ CrystalDecisions.Web.dll   C: \ WINDOWS \ Assembly \ GAC_64 \ CrystalDecisions.Web \ 13.0.2000.0__692fbea5521e1304 \ CrystalDecisions.Web.dll

Alles schlägt mit PATH NOT FOUND Ergebnis fehl. Es gelingt auf

  

C: \ Windows \ Assembly \ GAC_MSIL \ CrystalDecisions.Web \ 13.0.2000.0__692fbea5521e1304 \ CrystalDecisions.Web.dll

und dann zwei BUFFER OVERFLOW in derselben Datei.

Es passiert nur auf x64. Es gibt keine Operation, die mit CrystalDecisions.Web.dll auf x86 zusammenhängt.

Was bedeutet es?

    
bjan 01.06.2017, 07:17
quelle

5 Antworten

1

Dies ist möglicherweise keine vollständige "Antwort", da Sie immer noch Fehler beheben und nach Hilfe fragen, aber es ist zu lang für einen Kommentar. Momentan unterstützt SAP VS 2017 nicht, und es gibt Möglichkeiten, die damit zu tun haben, aber ich habe ähnliche Meldungen schon in VS 2010 gesehen, also geht es hier ...

Erraten Sie das in Ihrer app.config-Datei:

%Vor%

oder genauer gesagt .NET wie:

%Vor%

Längerer Problemlösungsprozess. Die Fehlermeldung würde normalerweise anzeigen, dass das DataSet (in diesem Fall DataTable) nicht zum Zeitpunkt der Verwendung im Berichtsobjekt festgelegt ist. Sie könnten dort einen Haltepunkt setzen und sehen, ob das wahr ist (wo SetDataSource verwendet wird).

Es kann sein, dass ich hier falsch liege und es bereits an diesem Punkt ein richtig gesetztes DataSet gibt, und das Problem tritt etwas später im Viewer auf. Ich bin schon vor langer Zeit auf Probleme wie diese gestoßen, und wenn die Erinnerung dies tut, war das der Weg, den ich genommen habe, um eine Lösung aufzuspüren.

Grundsätzlich bestand mein Problem darin, dass die EXE ADO-Objekte im Viewer verwendete. Ohne alles über Ihr Projekt zu wissen, würde ich diesen Pfad zum Debuggen starten.

Andere Fragen würden in VS 2015 funktionieren? Hat es jemals in X64 funktioniert und funktioniert nicht mehr? Funktioniert es für andere Operationen, wie können Sie auf das Berichtsobjekt programmatisch zugreifen, und es ist nur ein Fehler im Viewer?

    
Jason Hughes 13.06.2017 08:16
quelle
0

Installieren Sie die 32-Bit-Version von Crystal Reports, obwohl Ihr Computer 64 Bit hat.

Meine Maschine ist auch 64, aber ich benutze die 32-Bit-Version der Software und es funktioniert gut.

    
11311212 01.06.2017 09:22
quelle
0

Stellen Sie sicher, dass Sie den neuesten SP installiert haben. Ich verwende derzeit SP19, was mir keine Probleme bereitet.
Ich weiß, dass es ein Problem sein kann, die richtigen Download-Links zu finden. Dies könnte Ihnen helfen: Ссылка

Da ich WPF-Anwendungen erstellt habe, die den bereitgestellten Viewer von CrystalReports verwenden, musste ich auch die folgende Einstellung in meinem App.config

verwenden %Vor%     
Oceans 12.06.2017 15:06
quelle
0

Ich weiß nicht, ob das für dich nützlich ist oder nicht. Aber ich habe folgende Lösung gefunden, als ich Probleme mit dem Server 2012 hatte.

Framework 4.6 bewirkt, dass Crystal Reports für Visual Studio einen eindeutigen Ordnerpfad zum Crystalreportsviewer13-Ordner in IIS und IISExpress DEV erstellt.

Umgebung

%Vor%

Reproduzieren des Problems

Uns ist dieses Problem bekannt. Eigentlich ist es mit .Net Framework 4.6, nicht nur auf Win10 oder Windows Server 2016 Vorschau beschränkt (diese OS standardmäßig installiert. Net 4.6). Wenn Sie .Net 4.6 auf Win7 installieren, wird dasselbe Problem auftreten. Die Hauptursache ist, dass MS das Update für .Net Framework 4.6 über Windows Update bereitstellt, dann wird sich die kleine Version von .Net 4.6 ändern. Für eine ASP.NET-Website, die auf den .Net 4.6 App-Pool abzielt, versucht der CR-Viewer, die Viewer-Ressourcendatei (js & amp; icon) unter .. \ aspnet_client \ system_web \ 4_6_xx \ crystalreportviewers13 \ zu finden. Das Highlight xx ist die kleine Version von .Net Framework 4.6. Auf Win10 RTM ist es 4_6_79; Bei Win7 + .Net 4.6 ist es 4_6_81, wenn der Benutzer KB3098786 installiert hat, wird es 4_6_118 ... Die Versionsnummer wird sich beim nächsten KB Update für .Net Framework 4.6 ändern. Also bitte eine BOSAP-Hülle dafür erstellen. Zumindest in SP16 müssen wir weitere Symbollinks hinzufügen, um verschiedene kleine Versionen von .Net Framework 4.6 zu unterstützen. Eine bessere Lösung besteht darin, den Pfad der geladenen Viewer-Ressourcendatei zu ändern, z. B. auf einen virtuellen Ordner unter IIS. Das musste im Viewer behoben werden und benötigt mehr Zeit. Wir werden versuchen es in SP16 zu implementieren ... Danke, Soda

Auflösung

Unsere Entwickler sind sich dieses Problems bewusst und wir sollten in der Lage sein, eine Reparatur in Service Pack 16 bereitzustellen

Das Problem hängt mit .Net Framework 4.6 zusammen.

Die Hauptursache ist, dass MS das Update für .Net Framework 4.6 über Windows Update bereitstellt

Die ASP.NET-Website zielt auf den .Net 4.6-App-Pool ab, der CR-Viewer versucht, die Viewer-Ressourcendatei (js & amp; icon) von

aus zu finden

.. \ aspnet_client \ system_web \ 4_6_xx \ crystalreportviewers13 \

Die xx ist die kleine Version von .Net Framework 4.6.

%Vor%

Die Versionsnummer wird sich ändern, wenn das nächste KB-Update für .Net Framework 4.6 installiert wird.

Die aktuelle Aufgabe besteht darin, die Datei Web.Config so zu aktualisieren, dass sie die aktualisierte Version des Frameworks enthält

Und dann kopieren Sie den \ CrystalReportsViewer13 Ordner in den neuen Pfad:

.. \ aspnet_client \ system_web \ 4_6_xx \ crystalreportviewers13 \

Für Updates und die neuesten Downloads gehen Sie bitte zu diesem Link:

Ссылка

Startseite ist:

Ссылка

    
Ketan Kotak 13.06.2017 07:02
quelle
0

Haben Sie eine Datenquelle oder Verbindung (z. B. odbc \ dao) mit 32-Bit in Ihrer Crystal Report DataSource? Es ist auch seltsam, dass Sie bereits 32-Bit- und 64-Bit-CR-Laufzeiten installiert haben, warum Sie CR-Versionen für Visual Studio installiert haben? Ich hatte ein ähnliches Problem wie Ihres, aber nachdem 32-Bit MDB und DAO durch DataSet ersetzt wurden, wird alles in Ordnung. Ich installierte sowohl 32-Bit- als auch 64-Bit-CR-Laufzeiten.

    
louie_nz 03.02.2018 05:06
quelle