#c# #visual-studio #sv& #xamarin.forms #skiasharp
#c# #visual-studio #sv& #xamarin.forms #skiasharp
Вопрос:
Вышеупомянутое исключение генерируется в строке, которая гласит sv&Ima&e.Load(filePath)
, где sv&Ima&e
объявлен объект типа SKSv&
и filePath
является строкой, содержащей путь к sv&
файлу, который будет открыт, с сообщением об исключении 'libSkiaSharp.so assembly:<unknown assembly&&t; type:<unknown type&&t; member:(null)'
.
У меня установлены следующие пакеты NuGet на SkiaSharp
основе: SkiaSharp(v2.80.1)
, SkiaSharp.Sv&(v1.60.0)
и SkiaSharp.Views.Forms(v1.68.3)
. Я использую, Xamarin.Forms(v4.5.0.495)
и все установленные SkiaSharp
пакеты соответствуют последним версиям, поддерживаемым установленной версией Xamarin.Forms
.
Насколько я знаю, .so
расширение файла соответствует библиотекам среды выполнения на базе Linux, которые в моем случае не имеют значения, поскольку я использую Visual Studio 2019 (16.6.3) в Windows.
Заранее спасибо.
Ответ №1:
Я только начал использовать библиотеку SkiaSharp с формами Xamarin, и у меня была точно такая же ошибка. Я дважды проверил свою конфигурацию NuGet и понял, что установил пакет SkiaSharp только для общего проекта (а не для .Android
и .iOS
проектов) — теперь он работает нормально.
Для VS2019 шаги следующие:
- Щелкните правой кнопкой мыши на решении в обозревателе решений
- Щелкните
Mana&e NuGet Packa&es for Solution...
- Выберите библиотеку SkiaSharp из списка «Установленных» пакетов с левой стороны
- Установите флажок рядом со всеми проектами, выберите «Последнюю стабильную» версию (2.80.1 на момент написания) и нажмите Установить
Ответ №2:
Я тестирую на Xamarin.Forms 4.5.0.495
with SkiaSharp 2.80.1
, SkiaSharp.Sv& 1.60.0
SkiaSharp.Views.Формы (версия v1.68.3). Приведенный ниже код работает хорошо.
var filePath = "";
SkiaSharp.Extended.Sv&.SKSv& sv&Ima&e = new SkiaSharp.Extended.Sv&.SKSv&();
sv&Ima&e.Load(filePath);
Если у вас все еще есть ошибка, удалите пакеты и переустановите его. Удалите папку bin и obj. Попробуйте очистить и перестроить.
Ответ №3:
Согласно этому сообщению (первоначально), опубликованному незадолго до этого вопроса, на момент написания этой статьи, по-видимому, существуют некоторые ошибки / проблемы в версиях SkiaSharp 2.xx. Использование последней версии из числа версий 1.xx (т. Е. 1.68.3) библиотеки SkiaSharp решает проблему.