2017-02-01 4 views
2

Empfangen eines InvalidCastException in LoadApplication(new App());. Ich habe SkiaSharp und SkiaSharp.Views.Forms in PCL und Android hinzugefügt. Außerdem wurde das SkiaSharp.Views-Paket automatisch zum Android-Projekt hinzugefügt.SkiaSharp Ungültige Cast-Ausnahme

entfernte ich alle komplexen Code und in meiner XAML-Datei links

<ContentView 
    xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    xmlns:skia="clr-namespace:SkiaSharp.Views.Forms;assembly=SkiaSharp.Views.Forms"  
    x:Class="SkiaSharpRemote.MediaControlView"> 
    <ContentView.Content> 
     <!--<skia:SKCanvasView 
      x:Name="canvas" 
      VerticalOptions="Fill" 
      HorizontalOptions="Fill" 
      PaintSurface="Canvas_PaintSurface"> 
     </skia:SKCanvasView>--> 
    </ContentView.Content> 
</ContentView> 

Die App diesen Teil geladen, nachdem ich aus der Leitung skCanvasView kommentiert. Wenn ich es auskommentiere, wird die folgende Ausnahme ausgelöst.

bei (wrapper castclass) System.Object: __ castclass_with_cache (Objekt, IntPtr, IntPtr) bei Xamarin.Forms.Registrar 1[TRegistrable].GetHandler (System.Type type) [0x0001b] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Registrar.cs:24 at Xamarin.Forms.Registrar 1 [TRegistrable] .GetHandler [TOut] (System.Type Typ) [0x00000 ] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Core \ Registrar.cs: 29 bei Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement Elemente) [0x00006] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ Platform.cs: 288 bei Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xa marin.Forms.VisualElement Ansicht, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool Pool, System.Boolean sameChildren) [0x00023] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs: 74 bei Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C : \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs: 207 bei Xamarin.Forms.Platform.Android.VisualElementPackager.Load() [0x00000] in C: \ BuildAgent2 \ work \ ca3766 cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs: 58 bei Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:337 at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [Telement] .SetElement (Telement Element) [0x00111] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs: 196 bei Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:129 at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289 at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x00023] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:74 at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:207 at Xamarin.Forms.Platform.Android.VisualElementPackager.Load() [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:58 at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [Telement] .SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager Packager) [ 0x00007] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs: 337 um Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].SetElement (TElement element) [0x00111] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196 at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [Telement] .Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement Element) [0x00027] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer. cs: 129 bei Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement Element) [0x0001f] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ Platform.cs : 289 bei Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement Ansicht, System Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool Pool. Boolean sameChildr de) [0x00023] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs: 74 bei Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs: 207 bei Xamarin.Forms.Platform.Android.VisualElementPackager.Load() [0x00000] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin. Forms.Platform.Android \ VisualElementPackager.cs: 58 bei Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:337 at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [Telement] .SetElement (Telement Element) [0x00111] in C: \ BuildAgent2 \ work \ ca3766c fc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs: 196 bei Xamarin.Forms.Platform.Android.VisualElementRenderer`1 [Telement] .Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms. VisualElement Element) [0x00027] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs: 129 bei Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement Element) [0x0001f] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ Platform.cs: 289 bei Xamarin.Forms.Platform.Android.AppCompat.Platform.AddChild (Xamarin.Forms. Seitenseite, System.Boolean-Layout) [0x00015] in C: \ BuildAgen t2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ AppCompat \ Platform.cs: 250 bei Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPage (Xamarin.Forms.Page newRoot) [0x00089] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ AppCompat \ Platform.cs: 239 bei Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage (Xamarin.Forms.Page Seite) [0x0009b] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ AppCompat \ FormsAppCompatActivity.cs: 374 bei Xamarin.Forms.Platform.Android.FormsAppCompatActivity.SetMainPage () [0x00000] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ AppCompat \ FormsAppCompatActi vity.cs: 444 bei Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication (Xamarin.Forms.Application Anwendung) [0x00183] in C: \ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ AppCompat \ FormsAppCompatActivity.cs: 135 bei SkiaSharpRemote.Droid.MainActivity.OnCreate (Android.OS.Bundle Bündel) [0x0002e] in /Users/simonlam/Desktop/Samples/Xamarin/SkiaRemote/SkiaSharpRemote/Droid/MainActivity.cs : 25 bei Android.Support.V4.App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr JNIEnv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in < 27c17fe440cf491ba8255bcefade6e02>: 0 bei (Wrapper dynamic-Methode) System.Object: a050e315-9322-4894-b9ce-8db88ad775ab (IntPtr, IntPtr, IntPtr)

Der Fehler hat mich nicht viel sagen, ich nur sehen, das ist eine Art Casting-Fehler.

Ich habe ein anderes Projekt, das skiasharp auch verwendet hat. Ich folge grundsätzlich demselben Weg, aber für dieses Projekt hat es nicht funktioniert.

+0

Der Anfang der Ausnahmemeldung fehlt – NineBerry

+1

Es funktioniert jetzt .. vielleicht muss ich das Android-Projekt säubern und wieder neu aufbauen ... – LittleFunny

Antwort

4

Sie wie folgt:

  1. hinzufügen SkiaSharp.Views.Forms NuGet für alle Projekte! (Das PCL/Shared, Android- und iOS-Projekt.)
  2. Dann reinigen und neu erstellen Sie Ihre Lösung.

Das wird Ihr Problem lösen.

Verwandte Themen