0

Lösung enthält zwei Projekte, eines ist Hauptprojekt mit C++, ein anderes Projekt ist eine Laufzeitkomponente mit C#, die im Hauptprojekt aufgerufen wird.Windows Universal - Absturz beim Aufruf der C# Runtime-Komponente in C++ Projekt

Es funktioniert auf Windows 10 Phone, wenn es auf dem Gerät von VS Express für Windows10 geladen wird.

Das Paket zum Hochladen in Windows Store stürzt jedoch beim Ausführen auf dem Telefon ab.

Die folgenden Schritte werden den Absturz reproduzieren: (1) erstellt ein .appxupload-Paket und entpacken Sie es, um .appx-Paket darin zu extrahieren; (2) Legen Sie dieses .appx-Paket auf das Telefon. (3) Klicken Sie auf .appx-Datei, um die App auf dem Telefon zu installieren. (4) führen Sie die App - es läuft ok bis instanziieren Sie die C# -Klasse - App stürzt ab;

Alles, was ich tun muss, um es zu vermeiden? oder es ist ein Fehler von Microsoft?

Danke.

+0

Vielleicht, wenn Sie den Fehler jemand würde Ihnen helfen ... – Gusman

+0

Danke für den Kommentar Gusman, gibt es eine Ausnahme stürzt die App - "Das angegebene Modul konnte nicht gefunden werden". Diese Ausnahme tritt nicht auf, wenn ich App mit Visual Studio auf dem Telefon lade (Debug oder Release sind in Ordnung) – Jason

+0

Den genauen Fehler posten, welches Modul wurde nicht gefunden? Das Beste, was Sie tun können, ist, die genaue Fehlermeldung zu kopieren und sie zu Ihrer Frage hinzuzufügen, ohne dass Ihnen so viele Informationen wie möglich zur Verfügung stehen. Je mehr Informationen Sie zur Verfügung stellen, desto leichter werden Sie Hilfe bekommen. – Gusman

Antwort

0

Ich habe die Antwort.

Ich denke von Anfang an sollte ich nicht direkt .appxupload Paket auf dem Telefon installieren.

Ich habe das .appxupload-Paket (ohne jede Änderung) im Windows Store eingereicht und dann die App im Store installiert. Die App stürzt überhaupt nicht ab. Offenbar ist das .appxupload-Paket nur für das Senden an den Store gedacht - ich denke, dass Windows Store nach der Übermittlung einige weitere Schritte für das Paket ausführen würde.

Wenn Sie einen Test für Ihre App durchführen möchten, installieren Sie immer das .appx-Paket im Ordner XXX_Test anstelle von .appxupload.

-1

Was ist mit den Pfaden? In Visual Studio funktionieren die Komponentenpfade zwar ordnungsgemäß, aber beim Laden aus der Appx werden die Pfade möglicherweise nicht richtig festgelegt. So kann die App die notwendigen Komponenten nicht finden ...

Probieren Sie die verschiedenen Verzeichnis- und Dateipfade in Ihren Projektabhängigkeiten aus (für die C++ - und C# -Projekte), um alle Komponenten und ihre Referenzen aufzulisten. Überprüfen Sie dann, ob diese Referenzen in diesen Pfaden bei der Ausführung auf dem Telefon gefunden werden können.

+0

Danke für Ihre Antwort, ich habe Referenzen und Inhalte in appx Paket überprüft. scheint alle Referenzen vorhanden. Ich fand auch, dass der Absturz nur auftritt, wenn C# aus C++ aufgerufen wird. wenn ich eine Laufzeitkomponente mit C++ anstelle von C# implementiere - kein Absturz. – Jason

+0

Was ist mit den Versionen der DLLs? Hat Ihre C# -Komponente eine Abhängigkeit, die nicht auf dem Telefon vorhanden ist oder eine andere Version hat? – PRinCEKtd

+0

Nein, diese C# -Komponente hat derzeit nur eine leere Klassendatei. es hängt nicht von anderen Komponenten ab. Übrigens, der Ordner appx in XX_Test funktioniert einwandfrei, nur appx in.appxupload stürzt ab. – Jason