System.MissingMethodException:未找到类型 SkiaSharp.Views.Forms.SKCanvasView 的默认构造函数?

System.MissingMethodException: Default constructor not found for type SkiaSharp.Views.Forms.SKCanvasView?

我正尝试在 Android 上使用 Skiasharp,但出现此异常, 可能是什么原因?

代码:

<skia:SKCanvasView x:Name="canvasView"
               PaintSurface="canvasView_PaintSurface"
               EnableTouchEvents="true" 
               VerticalOptions="FillAndExpand"
               Touch="OnTouch"/>

在 C# 文件上

private void canvasView_PaintSurface(object sender,SKPaintSurfaceEventArgs args)
        {
            SKSurface sKSurface = args.Surface;
            SKCanvas canvas = sKSurface.Canvas;
            canvas.Clear(SKColors.White);
            drawPerformerPlatforms.setCanvas(canvas);
            scoreViewerField.runFrame();
        }

好的,我找到了答案, 右键单击 Android 项目 -> 属性 -> Android 选项

找到链接并将其设置为 none。

然后重建您的项目

设置链接到 None 是一种解决方法,而不是真正的解决方案。您遇到的问题是链接器删除了对 Skia 类 的引用。您需要在链接过程中保留 Skia 库。详情请参考以下文章。

https://docs.microsoft.com/en-us/xamarin/android/deploy-test/linker