2015-09-04 26 views
0

我的項目中發生了特定問題。我發現C#只支持Android的一個庫(在Xamarin中):Sharp.XMPPNuGet,但是我遇到了麻煩。當我寫在分離的便攜式類庫一些示例代碼,我得到這些錯誤: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.XmppPCL不兼容,因爲它使用XmlElement類,它目前在PCL中不可用。

重寫這部分是可行的,但需要付出巨大的努力。

我使用的解決方法是開發.Net 4.5類庫,其中引用Sharp.XMPPWindows.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的相同版本上更新de庫,它應該可以工作。