Lit*_*nny 3 xamarin.android xamarin xamarin.forms skiasharp
接收InvalidCastExceptionin LoadApplication(new App());.我在PCL和Android中添加了SkiaSharp和SkiaSharp.Views.Forms.它还自动将SkiaSharp.Views包添加到Android项目中.
我删除了所有复杂的代码,并将此部分保留在我的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>
Run Code Online (Sandbox Code Playgroud)
在我注释掉该skCanvasView行之后加载了该应用.如果我取消注释它,则抛出以下异常.
at(wrapper castclass)System.Object:__ castclass_with_cache(object,intptr,intptr)at Xamarin.Forms.Registrar
1[TRegistrable].GetHandler (System.Type type) [0x0001b] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Registrar.cs:24 at Xamarin.Forms.Registrar1 [TRegistrable] .GetHandler [TOut](System.Type type)[0x00000] in C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Registrar.cs:29位于C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform中的Xamarin.Forms.Platform.Android.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x00006] .Android\Platform.cs:288 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]在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]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin中 .Forms.Platform.Android\VisualElementPackager.cs:207,位于C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs中的Xamarin.Forms.Platform.Android.VisualElementPackager.Load()[0x00000] :58,Xamarin.Forms.Platform.Android.VisualElementRenderer1[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.VisualElementRenderer1 [TElement] .SetElement(TElement element)[0x00111]位于C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196 at Xamarin .Forms.Platform.Android.VisualElementRenderer1[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.VisualElementRenderer1 [TElement] .SetPackager(Xamarin.Forms.Platform.Android.VisualElementPackager packager)[0x00007]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs :337:Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetElement (TElement element) [0x00111] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196 at Xamarin.Forms.Platform.Android.VisualElementRenderer1 [TElement] .Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement(Xamarin.Forms.VisualElement element)[0x00027]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin .Forms.Platform.Android\VisualElementRenderer.cs:129在Xamarin.Forms.Platform.Andro id.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x0001f]位于C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289,位于Xamarin.Forms.Platform.Android.VisualElementPackager. AddChild(Xamarin.Forms.VisualElement视图,Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer,Xamarin.Forms.Platform.Android.RendererPool池,System.Boolean sameChildren)[0x00023]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin中.Forms.Platform.Android\VisualElementPackager.cs:74在C:\ BuildAgent2\work \的Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement(Xamarin.Forms.VisualElement oldElement,Xamarin.Forms.VisualElement newElement)[0x00104]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android \中的Xamarin.Forms.Platform.Android.VisualElementPackager.Load()[0x00000]中的ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:207 VisualElementPackager.cs:58 at Xamarin.Forms.Platform.Android.VisualElementRende RER1[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.VisualElementRenderer1 [TElement] .SetElement(TElement元件)[0x00111]在C:\ BuildAgent2 \工作\ ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196在Xamarin.Forms.Platform.Android.VisualElementRenderer`1 [在Xamarin的C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:129中的.Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement(Xamarin.Forms.VisualElement element)[0x00027] Xamarin.Forms.Platform中的.Forms.Platform.Android.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x0001f]位于C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289 .Android.AppCompat.Platform.AddChild(Xamarin.Forms.Page页面,System.Boolean布局)[0x00015]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:250 at C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Form中的Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPage(Xamarin.Forms.Page newRoot)[0x00089] s.Platform.Android\AppCompat\Platform.cs:239位于C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms中的Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage(Xamarin.Forms.Page页面)[0x0009b].在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity中的Xamarin.Forms.Platform.Android.FormsAppCompatActivity.SetMainPage()[0x00000]中的Platform.Android\AppCompat\FormsAppCompatActivity.cs:374. cs:444 at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication(Xamarin.Forms.Application application)[0x00183]在C:\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:在Android.Support.V4的/Users/simonlam/Desktop/Samples/Xamarin/SkiaRemote/SkiaSharpRemote/Droid/MainActivity.cs:25中的SkiaSharpRemote.Droid.MainActivity.OnCreate(Android.OS.Bundle包)[0x0002e]中的135. App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_(System.IntPtr jnienv,System.IntPtr native__this,Syst em.IntPtr native_savedInstanceState)[0x00011] in <27c17fe440cf491ba8255bcefade6e02>:0 at(wrapper dynamic-method)System.Object:a050e315-9322-4894-b9ce-8db88ad775ab(intptr,intptr,intptr)
错误并没有告诉我太多,我只看到这是某种投射错误.
我还有另一个使用skiasharp的项目.我基本上遵循相同的路线,但对于这个项目它没有用.
请执行下列操作:
这将解决您的问题.
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |