我安装了SkiaSharp
,SkiaSharp.Views.Forms
当我在我的代码中使用它们时:
public MainPage()
{
InitializeComponent();
SKCanvasView canvasView = new SKCanvasView();
canvasView.PaintSurface += OnCanvasViewPaintSurface;
Content = canvasView;
}
void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEventArgs args)
{
SKImageInfo info = args.Info;
SKSurface surface = args.Surface;
SKCanvas canvas = surface.Canvas;
canvas.Clear();
SKPaint paint = new SKPaint
{
Style = SKPaintStyle.Stroke,
Color = Color.Red.ToSKColor(),
StrokeWidth = 25
};
canvas.DrawCircle(info.Width / 2, info.Height / 2, 100, paint);
paint.Style = SKPaintStyle.Fill;
paint.Color = SKColors.Blue;
canvas.DrawCircle(info.Width / 2, info.Height / 2, 100, paint);
}
项目无法运行,(调试模式的橙色立即消失),没有错误。
当我注释掉上面的代码时,项目运行正常!我正在使用 Visual Studio 2017 版本 15.4.5
我尝试在 VS 2015 中打开项目,我在 Android 项目的 MainActivity 中遇到了这个异常:
LoadApplication(new App());
信息:
指定的演员表无效。
堆栈跟踪:
System.InvalidCastException:指定的强制转换无效。在 (wrapper castclass) System.Object:__castclass_with_cache (object,intptr,intptr) 在 Xamarin.Forms.Internals.Registrar1[TRegistrable].GetHandler (System.Type type) [0x0001b] 在 C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin .Forms.Core\Registrar.cs:37 在 C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core 中的 Xamarin.Forms.Internals.Registrar1[TRegistrable].GetHandler[TOut](System.Type 类型)[0x00000] \Registrar.cs:42 在 Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement 元素) [0x00006] 在 C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs :284 在 Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement 视图,Xamarin.Forms.Platform.Android。