0

我正在使用 Xamarin 表单来创建聊天应用程序并实现这一目标,我正在使用 Nuget 的 Sharp.XMPP 库,但我遇到了问题。

据说这里的 PCL 不支持

所以我按照这个博客将项目转换为共享的.net标准库

添加以下代码后

    using Sharp.Xmpp.Client;


    async void OnLoginButtonClicked(object sender, EventArgs e)
    {
        var user = new User
        {
            Username = usernameEntry.Text,
            Password = passwordEntry.Text
        };

        string hostname = "localhost";
        string username = user.Username;
        string password = user.Password;

        using (var client = new XmppClient(hostname, username, password))
        {
            client.Connect();
            messageLabel.Text = "Login Success";
            client.SendMessage("axcl@localhost", "juyugygyg");
        }
    }

收到错误:

    Severity    Code    Description Project File    Line    Suppression State
    Error       Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Sharp.Xmpp, Version=1.0.2.2, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
    File name: 'Sharp.Xmpp.dll'
       at Java.Int        rop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
       at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
       at Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver)   app.Android         

任何人都可以帮助我了解如何将 .net 库 dll 绑定到项目中,以便它可以在 xamarin 表单中使用。

另一种选择是 agsXMPP .NET SDK,但我不太确定。

如果我错过了什么。对此感到抱歉

4

1 回答 1

0

首先删除尖锐的nuget并克隆它。 https://github.com/pgstath/Sharp.Xmpp。打开sharp的解决方案并构建它。您将在 bin\debug 下获得 Sharp.Xmpp.dll。将此 .dll 的引用添加到您的项目中。

于 2018-04-26T12:49:48.133 回答