próbuję wykorzystywać klientów ServiceStack nad projektem Xamarin iOS i podczas debugowania go mam następujący wyjątek:ServiceStack klient nad projektem Xamarin.iOS
“System.ArgumentException: PclExport.Instance needs to be initialized”.
Kod, który wywołuje wyjątek jest następujący :
try
{
string strReadParam = this.xmlParser.GetString("SyncUrl");
CommonStatic.SyncWSUrl = strReadParam;
var client = new JsonServiceClient(CommonStatic.SyncWSUrl);
client.Timeout = new TimeSpan(0, 0, 0, 5, 0);
var response = client.Get(new mSalesCheckConnectionRequest { DBSource = CommonStatic.DBSource, DBSourceInstance = CommonStatic.DBSourceInstance, DBName = CommonStatic.DBName, DBUsername = CommonStatic.DBUsername, DBPassword = CommonStatic.DBPassword });
return;
}
catch (System.Net.WebException wex)
{
}
Używam ServiceStack.Interfaces, ServiceStack.Client.Pcl i ServiceStack.Text.Pcl wszyscy mający wersji 4.0.34. Dodatkowo odwołałem się do Newtonsoft.Json w wersji 6.0.7.
Po kilku badaniach zdałem sobie sprawę, że dostawca PCL dla iOS nie jest automatycznie rejestrowany, dlatego dodałem "IosPclExportClient.Configure();" przed utworzeniem nowego klienta usługi Json i odwołałem się do ServiceStack.Pcl.iOS.dll na wersja 4.0.0.0.
Wynik jest następujący błąd: „nie może obejmować zarówno«monotouch.dll»oraz«»Xamarin.iOS.dll w projekcie same Xamarin.iOS -«Xamarin.iOS.dll»odwołuje się wyraźnie, gdy" monotouch.dll "jest oznaczony przez" ServiceStack.Pcl.iOS, wersja = 4.0.0.0, Culture = neutral, PublicKeyToken = null "."
Czy są jakieś sugestie rozwiązania tego problemu?
góry dziękuję
Dziękuję za odpowiedź. Dołączyłem ServiceStack.Client wpisując "Install-Package ServiceStack.Client" w konsoli menedżera pakietów. Dodatkowo pobrałem plik ServiceStack.Client.Pcl.dll i umieściłem go jako odniesienie. Niestety komunikat o błędzie pozostaje ten sam. – George
@George Punkt, który robiłem, NIE WOLNO pobierać i dołączać "ServiceStack.Client.Pcl.dll". TYLKO odwołanie do 'ServiceStack.Client'. 'ServiceStack.Client.Pcl' NIE musi być dołączony, ponieważ będzie kolidował z odniesieniem do' ServiceStack.Client', który zawiera teraz wbudowane wymagania iOS. Więc zapomnij o bibliotece PCL. – Scott
Popełniłem błąd w poleceniu powyżej! Przez pomyłkę napisałem, że pobrałem plik ServiceStack.Client.Pcl.dll, a nie ServiceStack.Pcl.iOS.dll. Przepraszam za to. Tak więc, po zainstalowaniu ServiceStack.Client, mam odwołania do ServiceStack.Client, ServiceStack.Interfaces i ServiceStack.Text. Wreszcie odwołanie do ServiceStack.Pcl.iOS, które jest wymagane w celu użycia "IosPclExportClient.Configure()" – George