#c# #xaml #xamarin
#c# #xaml #xamarin
Вопрос:
Я только начал использовать FFImageLoading для кроссплатформенного проекта Xamarin, и файл Android MainActivity.cs выдает необработанное исключение:
Система.TypeLoadException: не удалось загрузить список переопределений метода из-за того, что метод не найден: void
Xamarin.Формы.Платформа.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler`1)
Я уже много раз смотрел на это и не понимаю, что именно здесь делать. Вот версии, с которыми я работаю:
- Xamarin.Forms v3.6.0.264807
- Xamarin.FFImageLoading v2.4.4.859
- Xamarin.Загрузка FFImageLoading.Forms v2.4.4.859
Я понимаю, что версии должны быть правильными, чтобы устранить эту проблему.
Я бы добавил больше, но у меня нет часов, чтобы выяснить, как правильно использовать этот веб-сайт. Я продолжаю получать ошибки о том, что мой код не обозначен 4 пробелами (когда это, очевидно, было!!!!!!!!!!!!!). Я просто пытаюсь успешно ответить на этот вопрос.
Комментарии:
1. Я правильно заполнил все поля! Я знаю, потому что я взял тайм-аут, чтобы убедиться! Интересно, почему это выглядит как ******* выше!!!!!!!!
Ответ №1:
Обновить
Эта проблема была решена в версии 2.4.6.929. Если вы столкнулись с этой ошибкой, пожалуйста, обновите Xamarin Forms и FFImageLoading.
Оригинальный ответ
Существует проблема с используемой вами версией FFImageLoading (v2.4.4.859) и Xamarin Forms версии 3.6 (ну, версий 3.4, 3.5 и 3.6).
Вы можете просмотреть проблему в их исключении инициализации на github с последней версией Xamarin.Формы 3.4 / 3.6. В предварительной версии FFImageLoading (v2.4.5.870-pre) есть исправление.
Единственными исправлениями, о которых я знаю на данный момент, являются:
- Понизьте загрузку FFImageLoading до предыдущей версии (2.4.3.840)
- Понизьте рейтинг форм Xamarin
- Используйте предварительную версию FFImageLoading (версия v2.4.5.870-pre или версия v2.4.5.880-pre см. Обновление)
Имейте в виду, что предварительная версия любого программного обеспечения может быть нестабильной и все еще может находиться в разработке. Я бы не рекомендовал использовать предварительные версии в производственной среде.
Обновить
Пользователь (PureWeen) опубликовал на странице проблем:
https://www.nuget.org/packages/Xamarin .Загрузка FFImageLoading / 2.4.4.859
- несовместимо с последними версиями 3.4, 3.5 и 3.6, 4.0 pre (*)
https://www.nuget.org/packages/Xamarin .FFImageLoading / 2.4.4.859 и все версии 2.4.5 до https://www.nuget.org/packages/Xamarin .FFImageLoading / 2.4.5.880-pre совместимы с:
- https://www.nuget.org/packages/Xamarin .Forms/3.6.0.220655
- https://www.nuget.org/packages/Xamarin .Forms/3.5.0.169047
- https://www.nuget.org/packages/Xamarin .Forms/ 3.4.0.1029999
https://www.nuget.org/packages/Xamarin .FFImageLoading / 2.4.5.880-pre
- совместим с последними версиями 3.4, 3.5 и 3.6
https://www.nuget.org/packages/Xamarin .FFImageLoading / 2.4.5.870-pre
- совместим с XF 3.6.0.264807
Вы можете получить предварительную версию из NuGet, установив Include prerelease
флажок в VisualStudio:
Комментарии:
1. Ял, предварительная версия исправила проблему, большое спасибо!
2. Благодарим вас за то, что нашли время предоставить решение и обновить. Быстрый поиск привел меня сюда, и через несколько кликов все снова заработало.
Ответ №2:
Вы также можете исправить это с помощью следующего кода.
—MainActivity.cs—
var handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ServerCertificateCustomValidationCallback =
(httpRequestMessage, cert, cetChain, policyErrors) => true;
var client = new HttpClient(handler);
ImageService.Instance.Initialize(new Configuration
{
HttpClient = client
});