2016-05-13 7 views
1

Ich habe gerade eine Release-Version meiner Anwendung auf einem frischen Nicht-Entwicklungsmaschine bewältigt und ich habe immer gefunden, wenn eine Scichart-Oberfläche das Programm abstürzt mit dem Standard "Anwendung hat funktioniert nicht mehr: Ein Problem hat dazu geführt, dass das Programm nicht mehr ordnungsgemäß funktioniert. "Crashes Ladeoberfläche bei der Bereitstellung auf Nicht-Entwicklungsmaschine

Ich habe zwei identische Maschinen, auf die ich die Anwendung geladen habe, jedoch benutzte ich eine, während ich die Testversion von Scichart benutzte, also hatte ich die Testversion installiert, so dass ich sie ausführen konnte Software für eine Demo. Jetzt habe ich eine volle Lizenz, es ist alles in Ordnung auf dieser Maschine. Aber ich kann Hardware sicher ausschließen.

Ich denke, dass ich die Lizenz möglicherweise nicht korrekt bereitstellen werde? Aber wenn das der Fall wäre, sollten die Charts leer sein, anstatt das Programm zum Absturz zu bringen.

Ich habe auf die neueste Version 4.05 aktualisiert.

Irgendwelche Ideen, wo man nach dem Problem sucht? Prost.

+0

Haben Sie die Ausnahmebedingungsnachricht/können Sie eine interne Ausnahme angeben? Lizenzierungs-How-To für SciChart finden Sie unter www.scichart.com/licensing-sichart –

+0

Es ist nur mit Release auf einem Computer ohne VS passiert, so dass keine Ausnahme gemeldet wird. Ich habe versucht, ein Catch-All zu setzen, aber vielleicht haben es auskommentiert! Ich werde überprüfen, – Joe

+0

Hallo Joe, wenn Sie nicht einmal den Haken alle schlagen, kann es .NET Runtime fehlen. Die App startet überhaupt erst, wenn Sie diese Abhängigkeit haben. Ich habe auch einige weitere Ideen für Sie in meiner Antwort unten hinzugefügt. –

Antwort

1

Es klingt für mich wie entweder die Anwendung selbst wirft eine Ausnahme, oder die .NET 4.0 Runtime ist nicht auf dem Ziel-PC installiert.

Um dies zu überprüfen, stellen Sie sicher, dass .NET4.0 Runtime (oder 4.5/4.6, wenn Sie für diese Version kompilieren) auf dem Ziel-PC installiert ist.

Wenn das nicht hilft, müssen Sie eine global catch-all handler in your WPF application schreiben und die Ausnahme protokollieren, die Sie erhalten. Dann sollten Sie von der Ausnahmebedingungsnachricht, der Stack-Ablaufverfolgung, der inneren Ausnahme (falls vorhanden) in der Lage sein, das Problem zu identifizieren.

Auch die WPF-Charts mit DirectX-Hardwarebeschleunigung haben einige Abhängigkeiten, aber SciChart ist auf fall back to software rendering ausgelegt, wenn Abhängigkeiten nicht gefunden werden.

Schließlich erfordern bestimmte Komponenten in SciChart wie WPF 3D Charts die Visual C++ 2013 Runtime. Es sollte eine Ausnahme ausgelöst werden, wenn VC++ 2013 nicht auf dem Ziel-PC gefunden wird. Aber abgesehen davon sind die Abhängigkeiten ziemlich gering.

Kommentieren Sie hier mit, was Sie finden.

+0

Getting: "Die SciChart Direct3d10RenderSurface wird auf diesem PC nicht unterstützt, Gründe: HasDirectXRUntimeInstaller: False". Ich frage mich, ob dies daran liegt, dass ich in jedem Diagramm s: SciChartSurface.RenderSurface explizit auf s3D: Direct3D10RenderSurface setze. – Joe

+0

Ich bemerke hier, dass Sie einen Fallback einrichten, http://support.scichart.com/index.php?/Knowledgebase/Article/View/17261/0/high-quality-vs-high-speed-vs-directx-renderer -Plugins. Kann ich dies für die gesamte Anwendung tun und nicht in jeder Grafik? – Joe

+0

Ja, natürlich verwendet das obige eine Attached-Eigenschaft. Sie können eine Attached-Eigenschaft auf jede SciChartSurface anwenden, indem Sie einen impliziten Stil verwenden: https://wpf.2000things.com/tag/implicit-style/ –

Verwandte Themen