2015-09-04 3 views
0

В моем проекте возникла определенная проблема. Я нашел только одну библиотеку для C#, поддерживающую Android (в Xamarin): Sharp.XMPP, NuGet, но у меня проблемы с ним. Когда я пишу некоторые примеры кода в библиотеке отделенной портативный класс, я получаю эти ошибки:Проект библиотеки портативных классов Xamarin.Forms с библиотекой Sharp.XMPP

Error 1: '.ctor' is not supported by the language 

линией

using (XmppClient client = new XmppClient(hostname, username, password)) 
      { 
       ... 
      } 

Следующая:

Error 2: Metadata file '...\Project.Jabber.dll' could not be found 
Warnings 2-6: Reference to type 'System.Net.Security.RemoteCertificateValidationCallback' claims it is defined in 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.dll', but it could not be found c:\Users\Kliford\Downloads\S22.Xmpp\S22.Xmpp.dll 

Я являюсь невежественны. Спасибо заранее.

ответ

0

Sharp.Xmpp не совместим с PCL, так как он использует класс XmlElement, который в настоящее время недоступен в PCL.

Перезапись этой части выполнима, но требует значительных усилий.

Обходной путь, который я использую, заключается в разработке .Net 4.5 Библиотеки классов, которые ссылаются на Sharp.XMPP. Переносимость между Windows и .Net достигается с помощью Xamarin.

Надеется, что это помогает

+0

Хорошо, я, наконец, создать проект с библиотекой, спасибо большого, но после того, как я подключаю, ошибка произошла: хост-неизвестно. Есть идеи? – Kliford

+0

Возможно, проблема с настройкой DNS. Для настройки сервера XMPP требуется некоторая конфигурация. Вы можете задать новый вопрос здесь или в github, я буду рад помочь, если смогу. –

+0

[Здесь] (http://stackoverflow.com/questions/32780463/host-unknown-exception-in-xmpp-xamarin-android) - вопрос. Большое спасибо, я очень ценю усилия. – Kliford

0

Это также происходит, когда нижняя библиотека использует другую версию .NET Framework. Вы пытаетесь обновить библиотеку в той же версии .NET Framework, которую используете, и она должна работать.