我是Mono / .NET的新手,所以我不确定我是否正确添加我的引用。我正在尝试实现Fleck WebSockets。我下载了源代码,在MonoDevelop中打开了解决方案并构建了它。我将生成的“Fleck.dll”和“Fleck.dll.mdb”放在我项目的文件夹中。然后,在MonoDevelop中,我转到了我的解决方案中的参考编辑器,并选择了Fleck.dll作为.NET程序集参考。
似乎工作正常,MonoDevelop会在该程序集中找到所有内容。如果我输入“Fleck”。然后自动完成弹出该DLL的所有成员,但如果我写了一些代码试图使用它,我得到一个TypeLoadException。它编译并运行但立即抛出异常。
我正在使用我发现的示例中的代码,所以我不认为这是一个问题。这是我的完整异常输出:
Could not load signature of Fleck.SocketWrapper:Accept due to:
Could not load signature of Fleck.ISocket:Accept due to:
Unhandled Exception: System.TypeLoadException: Could not load type 'Fleck.SocketWrapper' from assembly 'Fleck, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
at Fleck.WebSocketServer..ctor (System.String location) [0x00000] in <filename unknown>:0
at TestServer.MainClass.Main (System.String[] args) [0x00000] in /home/danny/Projects/TestServer/Main.cs:10
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'Fleck.SocketWrapper' from assembly 'Fleck, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
at Fleck.WebSocketServer..ctor (System.String location) [0x00000] in <filename unknown>:0
at TestServer.MainClass.Main (System.String[] args) [0x00000] in /home/danny/Projects/TestServer/Main.cs:10
我做错了什么?
答案 0 :(得分:3)
对我来说很好。我在Ubuntu上使用Mono 2.10.8。我做的是:
所以我敢打赌它应该可以正常工作。你的Mono版本是什么?
哦,我还明确地将所有提到的项目的框架版本设置为4.0(这对于正确编译是必不可少的)。