gpt4 book ai didi

Xamarin 项目无法在 Android 或 Windows 中找到 SkiaSharp

转载 作者:行者123 更新时间:2023-12-05 03:09:43 28 4
gpt4 key购买 nike

我承认我是 Xamarin 和跨平台开发的新手,所以如果这看起来是一个微不足道的问题,我深表歉意,但现在几个晚上我一直在努力弄个水落石出。

我有一个基本的 Xamarin Forms 应用程序,它在 Windows 8.1、Windows UWP 和 Android 中运行。它使用 SkiaSharp 处理一些基本图形(基于 Skia 示例)。

它在所有三个平台上运行,但我不得不删除 Xamarin 包并将其重新添加到项目中,我无法让 SkiaSharp 在 Windows 或 Android 中正常运行。我得到一个 BadImageFormatException:

Additional information: Could not load file or assembly 'SkiaSharp, Version=1.56.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)

我在 Windows 8.1 版本和 Android 版本的 x86、x64 和任何 CPU 配置中遇到此异常。

如果我在 UWP 项目中运行它,它会完美运行。

相关项目结构:

  • MyProj.XMForms(可移植)- 包含核心 Xamarin.Forms 应用程序的 PCL、包含带有 MyView 的框架的 StackLayout 的 MainPage,以及包含带有 SKCanvasView 的网格的 MyView。
  • MyProj.Windows (Windows 8.1) - 包装器 - 仅包含一个空应用程序和一个加载 MyProj.XMForms 应用程序的 MainPage。
  • MyProj.UWP(通用 Windows)- 包装器 - 仅包含一个空应用程序和一个加载 MyProj.XMForms 应用程序的主页面。
  • MyProj.Droid (Android) - 包装器 - 仅包含加载 MyProj.XMForms 应用程序的 MainActivity。

所有项目 NuGet 包都有 Xamarin.Forms 2.3.3.180、SkiaSharp 1.56.0 和 SkiaSharp.Views.Forms 1.56.0。 MyProj.Droid 也有 SkiaSharp.Views(其他人都不会接受它)。

我发现了 https://github.com/mono/SkiaSharp/issues/190并添加了 <ShouldIncludeNativeSkiaSharp>true</ShouldIncludeNativeSkiaSharp>到 csproj 没有任何区别。

我尝试删除并重新添加 SkiSharp NuGet 包。

我错过了什么?

谢谢,

伊恩

最佳答案

如果您查看异常消息,会发现这一行:

Reference assemblies should not be loaded for execution.

这意味着您尚未将 SkiaSharp NuGets 安装到应用程序项目中。确保所有应用程序都安装了 SkiaSharpSkiaSharp.ViewsSkiaSharp.Views.Forms NuGet。核心项目只需要 SkiaSharpSkiaSharp.Views.Forms NuGets。

此外,由于 Skia 的限制,目前不支持 Windows 8.x:https://github.com/mono/SkiaSharp/issues/20

关于Xamarin 项目无法在 Android 或 Windows 中找到 SkiaSharp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41944972/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com