Клиентская библиотека Xamarin XMPP


Я потратил целый день на поиски клиентской библиотеки XMPP, которая будет работать в Xamarin. В частности, я разрабатываю кросс-платформенное приложение с портативной библиотекой классов (Xamarin Forms). Я прошел через Sharp.Xmpp, s22.xmp, agsSharp and UbietyXMPP.

У каждого из них есть своя специфическая проблема подключения к Xamarin. Существует ли какая-либо проверенная и проверенная клиентская библиотека, совместимая с Xamarin?

Ниже приведен текст ошибки каждой клиентской библиотеки при добавлении из NuGet и в случае agsXmpp журнал ошибок времени компиляции.

Сообщения об ошибках для клиентских библиотек:

AgsXmpp

Ошибка 2 исключение при загрузке сборок: System.IO. FileNotFoundException: не удалось загрузить сборку - Система.Рисунок, версия=2.0.0.0, культура=нейтральная, PublicKeyToken=b03f5f7f11d50a3a'. Возможно, в моно его нет. для профиля Android? Имя файла: 'System.Рисование.файлов в Ксамарин.Андроид.Настройщик.DirectoryAssemblyResolver.Решения(AssemblyNameReference ссылка, параметры ReaderParameters) на Ксамарин.Андроид.Задачи.Разрешите сборки.AddAssemblyReferences (ICollection`1 сборки, AssemblyDefinition assembly, Boolean topLevel) на Ксамарин.Андроид.Задачи.Разрешите сборки.Execute() whattf.Дроид

S22.Xmpp

Установка S22.Джаббер 1.0.0.0'. Успешно установлен ' S22.Протокол XMPP 1.0.0.0'. Добавление ' S22.Xmpp 1.0.0.0 ' к whattf.Дроид. Деинсталляция 'С22.Джаббер 1.0.0.0'. Успешно удален ' S22.Джаббер 1.0.0.0'. Установить не удалось. Откат назад... Не удалось установить пакет S22.Протокол XMPP 1.0.0.0'. Вы пытаетесь установить этот пакет в проект, предназначенный для 'MonoAndroid, Version=v6. 0', но пакет не содержит любые ссылки на сборки или файлы содержимого, совместимые с этим рамки. Для получения дополнительной информации обратитесь к автору пакета.

XMPP

Установка 'XMPP 0.7.0.21'. Успешно установлен "XMPP 0.7.0.21". Добавление 'XMPP 0.7.0.21' в whattf.Дроид. Удаление 'XMPP 0.7.0.21'. Успешно удален "XMPP 0.7.0.21". Установить не удалось. Катающийся назад... Не удалось установить пакет "XMPP 0.7.0.21". Вы пытаетесь это сделать установите этот пакет в целевой проект 'MonoAndroid, Version=v6. 0', но пакет не содержит никаких ссылки на сборки или файлы содержимого, совместимые с этим рамки. Для получения дополнительной информации обратитесь к автору пакета.

UbietyXMPP

Попытка разрешить зависимость "SharpZipLib (= 0.86.0)". Пытающийся чтобы разрешить зависимость " Хейден.ДНС (= 1.0.0)'. Попытка разрешить зависимость " Microsoft.ОУЗ (= 1.1.10)'. Попытка разрешить зависимость " Microsoft.Bcl.Построить (= 1.0.14)'. Попытка разрешить зависимость " Microsoft.Bcl.Сборка (= 1.0.21)'. Попытка разрешить зависимость от Microsoft.Чистая.Протоколу HTTP (= 2.2.29)'. Попытка разрешить зависимость ' Serilog (= 1.5.9)'. Попытка разрешить зависимость - Серилог.Умывальники.Сл (= 1.5.15)'. Попытка разрешить зависимость "libidn (= 1.29.1)". Попытка разрешить зависимость "ExceptionAnalyzer (= 1.0.5)". Попытка разрешить зависимость - Microsoft.AnalyzerPowerPack (= 1.0.1)'. Установка ' SharpZipLib 0.86.0'. Успешно установлен 'SharpZipLib 0.86.0'. Установка ' Хейдена.ДНС 1.0.0'. Успешно установлен ' Хейден.ДНС 1.0.0'. Установка " Microsoft.1.1.10 ОУЗ'. Успешно установить - Microsoft.1.1.10 ОУЗ'. Установка " Microsoft.Bcl.Построить 1.0.21'. Успешно установить - Microsoft.Bcl.Построить 1.0.21'. Установка 'Майкрософт.Чистая.Протокол HTTP 2.2.29'. Успешно установить 'Майкрософт.Чистая.Протокол HTTP 2.2.29'. Установка 'Serilog 1.5.9'. Успешно установлен 'Serilog 1.5.9'. Установка Серилога.Умывальники.Сл 1.5.15'. Успешно установлен ' Serilog.Умывальники.Сл 1.5.15'. Установка 'этот пакет содержит символы отладки 1.29.1'. Успешно установлен "libidn 1.29.1". Установка "ExceptionAnalyzer 1.0.5". Успешно установленный " ExceptionAnalyzer 1.0.5'. Установка " Microsoft.AnalyzerPowerPack 1.0.1'. Успешно установлен " Microsoft.AnalyzerPowerPack 1.0.1'. Установка ' UbietyXMPP 0.7.37.0'. Успешно установлен "UbietyXMPP 0.7.37.0". Добавление 'SharpZipLib 0.86.0' к whattf.Дроид. Удаление ' SharpZipLib 0.86.0'. Успешно удален 'SharpZipLib 0.86.0'. Установить не удалось. Откат назад... Не удалось установить пакет ' SharpZipLib 0.86.0'. Вы пытаетесь установить этот пакет в проект, предназначенный для 'MonoAndroid, Version=v6. 0', но пакет не содержит любая сборка ссылки или файлы содержимого, совместимые с этим рамки. Для получения дополнительной информации обратитесь к автору пакета.

1 3

1 ответ:

Xamarin является подмножеством полной платформы .NET framework и использует свои собственные библиотеки ядра. Вот почему вы не сможете запустить эти библиотеки без их перекомпиляции для Xamarin и внесения некоторых изменений в исходный код, когда это необходимо.

Библиотека MatriX XMPP доступна для Xamarin iOS и Android. Но это коммерческий продукт.