2016-06-30 12 views
0

In meiner plattformübergreifenden nativen Anwendung Xamarin versuche ich Ladekennzeichen von Acr.UserDialogs(ver 5.3) zu verwenden. In einem tragbaren Projekt versuche ich diesen Code:Acr.UserDialogs PCL-Fehler

public bool IsLoading 
    { 
     get { return _isLoading; } 

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

in Haupttätigkeit:

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

Als Folge mir folgende Ausnahme abfangen:

System.ArgumentException: This is the PCL library, not the platform library. You must install the nuget package in your main executable/application project

Exception

Acr installiert portable Projekt und in Droid-Projekt: Acr

Was mache ich falsch?

+0

bitte bearbeiten Sie Ihre Frage die Ausnahmemeldung als formatierten Text enthalten, nicht ein Screenshot. Screenshots können nicht von Suchmaschinen indiziert werden. – Jason

+0

Könnten Sie versuchen, die Anweisung 'if (UserDialogs.Instance == null)' zu entfernen und einfach 'UserDialogs.Init (this); 'in' MainActivity.OnCreate() '? – hvaughan3

+0

Ich entferne 'if (UserDialogs.Instance == null)'. Neuer Fehler: System.MissingMethodException: Die Methode 'UserDialogs.Init' wurde nicht gefunden. – Simaleon

Antwort

1

Ich löse es durch die Deinstallation von Acr.UserDialogs aus allen Projekten. Installieren Sie Acr.UserDialog im Android-Projekt. Lösung bereinigen und neu erstellen und Acr.UserDialog im Portable-Projekt installieren

Weiter verwenden Sie es in tragbaren Projekt so.

UserDialogs.Instance.ShowSuccess("Some Text"); 
+0

Aber ich bin mir nicht sicher, dass es auf verschiedenen Plattformen richtig funktionieren würde, –

+0

Danke, das hat auch für mich funktioniert –

2

hatte ich das gleiche Problem, aber in iOS. So habe ich das Problem gelöst. Bitte stellen Sie sicher, dass unten Abhängigkeiten in jedem Projekt gemäß dieser link zusammen mit Acr.UserDialogs installiert werden müssen (ich empfehle auch, Abhängigkeiten gemäß Ihrer Acr.UserDialogs-Lib-Version von gegebenen Link zu überprüfen).

Alle Karkassen

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) 

Don't forget to install Acr.UserDialogsin each project along with portable project.

NOTE :- Check this link to setup the library(Specially for Android this library requires initialization of UserDialogs in main Activity).