jer*_*ong 5 c# xmpp unity-game-engine
从这里导入jabber-net dll后进入我的项目并运行
using UnityEngine;
using System.Collections;
using jabber;
using jabber.client;
using jabber.connection;
public class XMPP : MonoBehaviour {
jabber.client.JabberClient jC;
// Use this for initialization
void Start () {
jC = new JabberClient();
}
}
Run Code Online (Sandbox Code Playgroud)
Unity抱怨:
内部编译器错误.有关更多信息,请参阅控制台日志.输出为:未处理的异常:System.TypeLoadException:无法从程序集'jabber-net,Version = 2.1.0.710,Culture = neutral,PublicKeyToken = 924c5b18328d6f09'加载类型'jabber.connection.XmppStream'.
我已经读过其他人(非常少数人)已经设法将jabber-net与他们的Unity代码集成在一起.有人可以说明如何做到这一点或者指向另一个图书馆吗?我非常希望能够在我的项目中使用XMPP.
谢谢
编辑
感谢@Calvin提供有用的回复并帮助我深入解决问题.
解决的步骤:
尸检
并且......这种方法似乎最终失败了.编译为ios似乎打破了ExecutionEngineException的依赖链:尝试JIT编译方法'(包装器托管到本机)System.Threading.Interlocked:CompareExchange(jabber.protocol.ProtocolHandler&,jabber.protocol.ProtocolHandler,jabber.protocol. ProtocolHandler)'在使用--aot-only运行时.
我只能在 MonoDevelop 中编译 2005-jabber-net 解决方案并将其添加到 Unity 3.5.6 项目中,而 Unity 不会生成编译器错误。
该解决方案引用了 Unity 不支持的 System.Drawing 和 System.Windows.Forms。我删除了这些,将编译目标更改为“Library”,并将 2005-jabber-net.dll、netlib.Dns.dll 和 zlib.net.dll 复制到 Unity 项目中。
您的示例代码在附加到游戏对象时编译并运行,但我没有进一步测试。
编辑:刚刚意识到这个程序集可能需要 Unity Pro,因为 .Net 套接字访问在 Unity 免费版本中受到限制。
双重编辑:我收回这一点,刚刚检查了他们的产品比较表,现在 .Net 套接字已在 Unity 免费版本中列出。
归档时间: |
|
查看次数: |
1492 次 |
最近记录: |