Ошибка PCL Acr.UserDialogs

В моем Xamarin кроссплатформенное нативное приложение, я пытаюсь использовать индикатор загрузки из Acr.UserDialogs(ver 5.3), В портативном проекте я пытаюсь этот код:

public bool IsLoading
    {
        get { return _isLoading; }

        set
        {
            _isLoading = value;
            if (value)
            {
                UserDialogs.Instance.ShowLoading("Loading...", MaskType.Black);
            }
            else
            {
                UserDialogs.Instance.HideLoading();
            }
        }
    }

По основному виду деятельности:

if (UserDialogs.Instance == null)
{
    UserDialogs.Init(this);
}

В результате я ловлю следующее исключение:

System.ArgumentException: это библиотека PCL, а не библиотека платформы. Вы должны установить пакет nuget в свой основной исполняемый файл / проект приложения

исключение

Acr установлен в переносном проекте и в проекте droid: Acr

Что я делаю неправильно?

2 ответа

У меня была такая же проблема но в iOS. Вот так я решил проблему. Пожалуйста, убедитесь, что ниже зависимости должны быть установлены в каждом проекте по этой ссылке вместе с Acr.UserDialogs(Я также рекомендую проверить зависимости в соответствии с вашей версией Acr.UserDialogs lib по указанной ссылке).

Все рамки

Splat (>= 1.6.2 && < 2.0.0)

MonoAndroid 1.0

AndHUD (>= 1.2.0 && < 2.0.0)
Splat (>= 1.6.2 && < 2.0.0)
Acr.Support (>= 2.1.0 && < 3.0.0)
Xamarin.Android.Support.Design (>= 23.3.0 && < 25.0.0)

UAP 10.0

Splat (>= 1.6.2 && < 2.0.0)
Coding4Fun.Toolkit.Controls (>= 2.1.8 && < 3.0.0)

Xamarin.iOS 1.0

Splat (>= 1.6.2 && < 2.0.0)
Acr.Support (>= 2.1.0 && < 3.0.0)

Не забудьте установить Acr.UserDialogs в каждом проекте вместе с переносным проектом.

ПРИМЕЧАНИЕ. - Проверьте эту ссылку для настройки библиотеки (специально для Android эта библиотека требует инициализации UserDialogs в основной деятельности).

Я решаю это, удалив Acr.UserDialogs из всех проектов. Установите Acr.UserDialog в проекте Android. Очистите и перестройте решение и установите Acr.UserDialog в переносимом проекте.

Далее используйте его в Portable-проекте.

UserDialogs.Instance.ShowSuccess("Some Text");
Другие вопросы по тегам