2017-02-01 22 views
2

InvalidCastExceptionLoadApplication(new App());に受信しました。 PCLとAndroidの両方にSkiaSharpとSkiaSharp.Views.Formsを追加しました。また、自動的にSkiaSharp.ViewsパッケージをAndroidプロジェクトに追加しました。 SkiaSharp無効なキャスト例外

は、私はすべての複雑なコードを削除し、私のXAMLファイル

<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> 

私はskCanvasView行をコメントアウトした後にロードされたアプリで、この部分を残しました。それをコメント解除すると、次の例外がスローされます。 __ castclass_with_cache (オブジェクトのIntPtr、のIntPtr)で 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タイプ)[0x00000:(ラッパーcastclass)のSystem.Objectで

] Cで:\ BuildAgent2 \作業\ ca3766cfc22354a1 \ Xamarin.Forms.Core \ Registrar.cs: でXamarin.Forms.Platform.Android.Platform.CreateRendererで29 (Xamarin.Forms.VisualElement素子)[0x00006] C:\ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ Platform.cs:288 at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xa marin.Forms.VisualElementビュー、 Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer、 Xamarin.Forms.Platform.Android.RendererPoolプール、可能System.Boolean sameChildren)[0x00023] Cで:\ BuildAgent2 \作業\のca3766cfc22354a1 \ Xamarin.Forms.Platform.Android VisualElementPackager.cs \:Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement、Xamarin.Forms.VisualElement newElement)[0x00104] におけるCで74 :\ BuildAgent2の\作業\ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs:207 Xamarin.Forms.Platform.Android.VisualElementPackager.Load() [0x00000] C内で :\ BuildAgent2 \作業\のca3766 cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementPackager.cs:58 で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素子)[0x00111] Cで:\ BuildAgent2作業\ \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android VisualElementRenderer.cs \:196 で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パッケージャ) [ 0x00007] in C:\ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs:337 at Xamarin.Forms.Platform.Android.VisualElementRenderer(Xamarin.Forms.VisualElement要素)[0x00027] C:\ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer。 cs:129 Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement要素)[0x0001f] C:\ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ Platform.cs :Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElementビュー、 Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer、 Xamarin.Forms.Platform.Android.RendererPoolプール、システムで289 。ブール sameChildr en)[0x00023] in C:\ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin。Forms.Platform.Android \ VisualElementPackager.cs:Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement で74 (Xamarin.Forms.VisualElement oldElement、Xamarin.Forms.VisualElement newElement)[0x00104] Cで:\ BuildAgent2 \作業\ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android VisualElementPackager.cs \:Xamarin.Forms.Platform.Android.VisualElementPackager.Loadで207 () [0x00000] Cで:\ BuildAgent2作業\ \ ca3766cfc22354a1 \ Xamarin。 Forms.Platform.Android \のVisualElementPackager.cs:58 で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素子)[0x00111] Cで:\ BuildAgent2 \作業\のca3766c fc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs:196 でXamarin.Forms.Platform.Android.VisualElementRenderer`1 [TElement] .Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms。 VisualElement素子)[0x00027] Cで:\ BuildAgent2作業\ \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ VisualElementRenderer.cs:129 Xamarin.Forms.Platform.Android.Platform.CreateRenderer で(Xamarin.Forms.VisualElement XAMarin.Forms.Platform.Android.AppCompat.Platform.AddChildの のC:¥BuildAgent2¥work¥ca3766cfc22354a1¥Xamarin.Forms.Platform.Android¥Platform.cs:289 にある[0x0001f]を入力してください。 (Xamarin.Forms。ページページ、System.Booleanレイアウト)[0x00015] in C:\ BuildAgen xamarin.Forms.Platform.Android \ AppCompat \ Platform.cs:250 at Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPage (Xamarin.Forms.Page newRoot)[0x00089] in C:\ BuildAgent2仕事\ \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ APPCOMPAT \ Platform.cs:239 Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage (Xamarin.Forms.Pageページ)で[0x0009b] Cで:\ BuildAgent2作業\ \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ APPCOMPAT FormsAppCompatActivity.cs \:374 Xamarin.Forms.Platform.Android.FormsAppCompatActivity.SetMainPage ()[0x00000]で Cで:\ BuildAgent2 \ work \ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ AppCompat \ FormsAppCompatActi vity.cs: Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication(Xamarin.Forms.Applicationアプリケーション)で444 [0x00183] Cで:\ BuildAgent2 \作業\ ca3766cfc22354a1 \ Xamarin.Forms.Platform.Android \ APPCOMPAT \のFormsAppCompatActivity.cs: /Users/simonlam/Desktop/Samples/Xamarin/SkiaRemote/SkiaSharpRemote/Droid/MainActivity.csでSkiaSharpRemote.Droid.MainActivity.OnCreateで135 (Android.OS.Bundle 束)[0x0002e] :25 でAndroid.Support.V4.App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_(System.IntPtr JNIEnvの、System.IntPtr native__this、System.IntPtr native_savedInstanceState)[0x00011]で < 27c17fe440cf491ba8255bcefade6e02>:(ラッパーダイナミック方式)で0 のSystem.Object:a050e315-9322-4894-b9ce-8db88ad775ab (のIntPtr、のIntPtr、のIntPtr)

誤差はあまり教えてくれませんでした、Iこれが何らかの鋳造エラーであることだけを見てください。

私はスキーシャープを使った別のプロジェクトもあります。私は基本的に同じルートに従っていますが、このプロジェクトではうまくいきませんでした。

+0

例外メッセージの冒頭が見つからない – NineBerry

+1

これは今働いています。おそらく私はアンドロイドプロジェクトをきれいにして再構築する必要があります... – LittleFunny

答えて

4

は、次の操作を行います。

  1. すべてのプロジェクトにSkiaSharp.Views.Forms NuGetを追加します! (PCL/Shared、 AndroidとiOSプロジェクト)
  2. 次に、ソリューションをクリーンにして再構築します。

これで問題が解決します。

関連する問題