簡體   English   中英

Xamarin 項目無法在 Android 或 Windows 中找到 SkiaSharp

[英]Xamarin project failing to find SkiaSharp in Android or Windows

我承認我是 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 和 Any CPU 配置中遇到此異常。

如果我在 UWP 項目中運行它,它會完美運行。

相關項目結構:

  • MyProj.XMForms (Portable) - PCL 包含核心 Xamarin.Forms 應用程序,MainPage 包含一個 StackLayout,其中包含一個帶有 MyView 的 Frame,以及包含一個帶有 SKCanvasView 的 Grid 的 MyView。
  • MyProj.Windows (Windows 8.1) - 包裝器 - 只包含一個空的應用程序和一個加載 MyProj.XMForms 應用程序的 MainPage。
  • MyProj.UWP (Universal Windows) - 包裝器 - 只包含一個空的應用程序和一個加載 MyProj.XMForms 應用程序的 MainPage。
  • 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 包。

我錯過了什么?

謝謝,

伊恩

如果您查看異常消息,則有以下行:

不應為執行加載引用程序集。

這意味着您尚未將 SkiaSharp NuGets 安裝到應用程序項目中。 確保所有應用程序都安裝了SkiaSharpSkiaSharp.ViewsSkiaSharp.Views.Forms NuGets。 核心項目只需要SkiaSharpSkiaSharp.Views.Forms NuGets。

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

好的,我通過從 SkiaSharp FormsSample 獲取 Android 項目並替換對

LoadApplication(new SkiaSharpSample.FormsSample.Platform.App());

LoadApplication(new MyPortable.XamarinForms.App());

我的原始項目肯定包含與此相同的所有 NuGet,我還沒有確定它們的主要區別,這意味着該項目有效而我的無效,但至少我現在有一個適用於 Android 和 UWP 的解決方案.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM