0

我一直在关注将 SkiaSharp 与 Xamarin Forms 结合使用的示例,尤其是有关使用位图的部分。我在 Microsoft Visual Studio 2017 版本 15.9.11 中执行此操作。我目前只针对Android。

此页面https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/basics/bitmaps有一个关于加载位图资源的部分,其中位图是嵌入的图像资源在项目中。

因此,我们添加图像并使其类型为“嵌入式资源” 添加为嵌入式资源

然后运行示例代码以简单地在画布上显示图像。

string resourceID = "SkiaTest.Media.monkey.png";
Assembly assembly = GetType().GetTypeInfo().Assembly;

using (Stream stream = assembly.GetManifestResourceStream(resourceID))
{
    resourceBitmap = SKBitmap.Decode(stream);
}

一切都非常简单,如果我在手机上运行代码,如果它以标准方式(索尼 Z5)通过 USB 连接,那么它工作正常,所以这里列表中的第二个,而不是播放器:

VS中的玩家下拉列表

它通过 USB 工作:

通过 USB 工作

但是,如果我尝试使用 Xamarin Live Player(上面列表中的第一个),那么它会在这一行崩溃:

using (Stream stream = assembly.GetManifestResourceStream(resourceID))

在此处输入图像描述

请注意,如果我不尝试加载位图,应用程序在 Live Player 中运行良好,只有那一行会触发崩溃,并且仅在 Live Player 中。

所以我想知道是否有人知道是什么导致 Live Player 无法解决这个问题?资源没有被复制到手机上吗?Live Player 是否不支持此类活动?

4

1 回答 1

1

您遇到此问题的原因是导致此异常的 Xamarin Live 播放器尚不支持嵌入式资源。

可以在Xamarin Live Player 故障排除文档中找到更多详细信息。

于 2019-04-08T14:18:05.563 回答