Absturz in der Produktion, wenn ein WebBrowser in einem Pivot verwendet wird

8

Ich weiß, dass es eine schlechte Idee ist, einen WebBrowser in ein Pivot / RadSlideView-Steuerelement einzufügen. Ich habe es trotzdem getan:

%Vor%

Im Grunde möchte ich das Pivot verwenden, um durch ein Array von HTML-Dokumenten an URIs zu gleiten, die ich über mein ViewModel bereitstelle, das nur das Array in einem Caliburn.Micro OneActive Conductor umschließt:

%Vor%

Das funktioniert in Debug- und Release-Versionen, die ich manuell bereitstellen muss, ziemlich gut. Die App besteht alle vom Store auferlegten Tests, aber sobald ich versuche, diese spezielle Ansicht in der App zu öffnen, stürzt sie ab, ohne dass sie zu einer Telerik MessageBox weitergeleitet werden kann.

Sobald ich das äußere Pivot entferne und das ViewModel entsprechend anpasse, läuft es glatt. Wie ich sagte, der Absturz passiert nur in der Produktion. Der Application.UnhandledException-Handler kann die App nicht dazu bringen, die Ausnahme zu verschlucken und den Fehler anzuzeigen.

Das ist wirklich kompliziert und nervt mich seit Monaten. Kann jemand diesen Fehler auflösen oder mich in eine lohnende Richtung weisen? Ich würde auch einen mehr WP-ish Vorschlag schätzen, mehrere Weblinks anzuzeigen, die funktionieren.

    
Sebastian Graf 13.01.2014, 22:30
quelle

1 Antwort

7

Es stellt sich heraus, dass ich eine UnauthorizedAccessException bekommen habe, in der ich erklärt habe, dass mir die ID_CAP_WEBBROWSERCOMPONENT-Fähigkeit fehlt, was ich nicht war. Das verwirrte mich, bis ich mir schließlich die Dokumentation ansah :

  

Wenn Sie ein WebBrowser-Steuerelement in XAML erstellen, müssen Sie einen Wert für die P: System.Windows.FrameworkElement.Name-Eigenschaft für dieses Steuerelement angeben, damit das Windows Phone Capability Detection Tool die richtigen Funktionen für Ihr System richtig erkennen und gewähren kann App Weitere Informationen zum Windows Phone Capability Detection Tool finden Sie unter So ermitteln Sie App-Funktionen.

Mit dem x: Name Set konnte ich endlich eine crashlose Erfahrung machen. Für mich persönlich war das der nervigste Fehler überhaupt. Es half mir, Beta-Versionen im Laden hochzuladen, obwohl ich keine Entwicklergebühr bezahlte, die ich vorher nicht kannte.

TLDR: RTFM.

    
Sebastian Graf 21.01.2014, 11:06
quelle