Я пытаюсь использовать ServiceStack клиентов по проекту Xamarin IOS и при отладке его у меня есть следующее исключение:ServiceStack клиент по проекту Xamarin.iOS
“System.ArgumentException: PclExport.Instance needs to be initialized”.
Код, который производит исключение состоит в следующем :
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)
{
}
Я использую ServiceStack.Interfaces, ServiceStack.Client.Pcl и ServiceStack.Text.Pcl все имеющие версию 4.0.34. Кроме того, я ссылался на Newtonsoft.Json в версии 6.0.7.
После некоторого исследования я понял, что поставщик PCL для iOS не зарегистрирован автоматически, поэтому я добавил «IosPclExportClient.Configure();» перед созданием нового клиента службы Json и ссылкой на ServiceStack.Pcl.iOS.dll версия 4.0.0.0.
В результате получается следующая ошибка: «Не может включать в себя как„monotouch.dll“и„Xamarin.iOS.dll“в проекте же Xamarin.iOS -„Xamarin.iOS.dll“упоминается в явном виде, в то время как ' monotouch.dll 'ссылается на' ServiceStack.Pcl.iOS, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = null '. "
Есть ли предложения по решению этой проблемы?
Спасибо заранее
Благодарим за сообщение. Я включил ServiceStack.Client, набрав «Install-Package ServiceStack.Client» в консоли диспетчера пакетов. Кроме того, я загрузил ServiceStack.Client.Pcl.dll и включил его в качестве ссылки. К сожалению, сообщение об ошибке остается неизменным. – George
@George То, что я делал, НЕ ДОЛЖЕН загружаться и включать 'ServiceStack.Client.Pcl.dll'. ТОЛЬКО ссылка 'ServiceStack.Client'. 'ServiceStack.Client.Pcl' НЕ должен быть включен, потому что он будет конфликтовать с ссылкой на' ServiceStack.Client', который теперь включает встроенное требование iOS. Поэтому забудьте библиотеку PCL. – Scott
Я сделал ошибку в приветствии выше! По ошибке я написал, что я загрузил ServiceStack.Client.Pcl.dll, а не ServiceStack.Pcl.iOS.dll. Извини за это. Итак, после установки ServiceStack.Client у меня есть ссылки на ServiceStack.Client, ServiceStack.Interfaces и ServiceStack.Text. Наконец, ссылка на ServiceStack.Pcl.iOS, которая требуется для использования «IosPclExportClient.Configure()», – George