Tag: mono

Mono缺少System.Numerics.BigInteger.Parse(string,IFormatProvider)

我目前使用Json.NET/Newtonsoft.JSON库得到以下错误: Missing method System.Numerics.BigInteger::Parse(string,IFormatProvider) in assembly /usr/lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.dll, referenced in assembly ~/dev/Mono/Mercury/Mercury/bin/Debug/Newtonsoft.Json.dll 每次从couchDB数据库检索的Json都有一个数值字段时,就会发生这种情况。 我从搜索中发现,该库从System.Numerics调用的方法尚未在Mono中实现 。 问题是Json.NET是我正在使用的另一个库的依赖项(WDK.API.CouchDB [3])。 如果不调整任何库的来源,我有什么办法可以绕过这个吗? 有什么建议? PS: 我在Linux上使用Mono 3.0.6和MonoDevelop 4.0.8。 我刚开始学习C#,这是我的第一个项目。 我试图在网上搜索这个主题没有取得丰硕成果。 谢谢 [3] code.google.com/p/skitsanoswdk

Mono上奇怪的WeakReference行为

使用Mono 2.11.3(SGen)以及稳定的2.10.8版本,使用WeakReference的测试代码失败了。 在像这样的简单代码中 object obj = new object(); WeakReference wr = new WeakReference(obj); Assert.IsTrue(wr.IsAlive); obj = null; GC.Collect(); Assert.IsFalse(wr.IsAlive); 第二个断言将失败。 添加GC.WaitForPendingFinalizers没有帮助。 这是Mono或我头脑中的错误吗? 谢谢

C#编译为单声道 – 检测操作系统

我试图在OSX下运行一个C#应用程序,这不是没有痛苦的。 要在短期内解决一些问题,我想在OSX中运行时设置一些特定的规则。 但是……我可以用什么来确定应用程序是在Windows还是OSX下运行?

如何从multithreading访问GUI(GTK)?

我有一个从GUI生成的工作线程(用于GUI性能),我如何访问GUI,例如从线程本身生成新的窗口/窗口小部件? 我尝试使用代理但它似乎没有工作。 有任何想法吗? 可能的例子? 谢谢。

简单的跨平台流程来处理Mono中的通信?

我正在开发一个可在Linux,Mac和Windows上运行的Mono应用程序,并且需要应用程序(在单个操作系统上)才能相互发送简单的字符串消息。 具体来说,我想要一个单实例应用程序。 如果尝试启动第二个实例,它将向已经运行的单个实例发送消息。 DBus已经出局了,因为我不希望这是一个额外的要求。 套接字通信似乎很难,因为Windows似乎不允许连接权限。 Mono似乎不支持内存映射文件。 Mono似乎不支持命名管道。 似乎在Mono上不支持IPC。 那么,是否有一种简单的方法可以将单个计算机上的字符串消息发送到适用于每个操作系统的服务器应用程序,而无需权限或其他依赖项?

使用Google Data API使用C#访问Google Spreadsheets会因Mono而失败

我正在尝试使用GData API访问我的Google电子表格。 我按照以下示例进行了示例: var service = new SpreadsheetsService(“myTest”); service.setUserCredentials(username, password); var query = new SpreadsheetQuery(); var feed = service.Query(query); 这应返回包含电子表格列表的Feed。 然而,这失败了: Google.GData.Client.GDataRequestException:执行请求失败: http ://spreadsheets.google.com/feeds/spreadsheets/private/full —> System.Net.WebException:远程服务器返回错误:(404)未找到。 当我在浏览器中直接尝试上述链接时,只要我已登录到我的Google帐户,我就可以下载该Feed。 更多信息: 我不在防火墙后面 我已多次检查我的用户名(maurits.rijk在gmail.com)和密码 我在MacBook上使用VirtualBox中的Mandriva 我的所有代码都是用Mono编译的 我在OS-X上尝试了相同的Javafunction。 该代码按预期运行。

generics的名字

我正在尝试使用generics的名称。 我没有得到我期待的结果。 我不确定这是否属于规范的一部分。 class MainClass { public static void Main (string[] args) { Console.WriteLine ($”Hello { nameof(FooBar)! }”); } } class FooBar { } 我得到的输出是 你好FooBar! 我希望有关类型参数的一些细节。 我用一个方法尝试了它,但由于编译错误而失败: class MainClass { public static void Main (string[] args) { Console.WriteLine ($”Hello { nameof(Do) }”); } public static T Do() {} } 错误CS8084:nameof运算符的参数不能是带有类型参数的方法组(CS8084)(foo) 这是因为nameof是一个编译时构造,而generics是在运行时初始化的类型吗? 还是有其他限制?

优化GC语言,任何想法?

在优化方面,我是一个非常大的新手。 在我正在进行的当前游戏中,我已经设法优化了一个function并削减了大约0.5%的CPU负载,这就像我一直“非常棒”。 我的情况如下:我使用一个名为ExEn的XNA包装器库在MonoTouch中开发了一个物理重型游戏,并尝试我可能会发现很难让游戏在iPhone4上达到可玩的帧速率(不要甚至想在此时考虑iPhone3GS)。 物理计算中的性能下降几乎可以肯定,如果我将物理学从帧速率上急剧上升,如果我禁用所有内容,渲染,输入,音频,并且在物理密集的情况下让物理性能在物理上徘徊在15fps左右。 我使用Instruments来分析性能,这就是我得到的: http : //i.imgur.com/FX25h.png耗尽性能最多的函数来自物理引擎(Farseer)或ExEn XNA包装函数调用(特别是Vector2.Max,Vector2.Min)。 我查看了这些函数,我知道它可以在哪里可以通过引用将值传递给那些函数而不是值,这样就覆盖了(而且它实际上是我能想到的唯一方法。函数非常简单,本身基本上等于这样作为 return new Vector2(Max(v1.x, v2.x), Max(v1.y, v2.y)) 基本上我觉得我被卡住了,我的能力和对代码优化的理解有限,我不确定我的选择是什么,或者我是否有任何选择(也许我应该只是卷入胎位并哭?)。 随着LLVM的开启和内置版本,我最多可能获得15fps。 我确实设法通过降低物理精度来使游戏达到30fps,但是这使得许多级别在身体彼此相交并且自身崩溃时无法实现。 所以我的问题是,这是一个失败的原因还是我可以采取哪些措施来提高绩效?

OS X上的Mono:System.Data.SQLite不起作用

我打算用Mono和SQLite作为数据库来做一个项目。 开发主要在Mac上完成。 我已成功设置Mono并测试了System.Data.SQLite(托管dll)。 简单的测试应用程序完美运 但是,当我尝试在我的代码中使用DataTable ,它会抛出运行时exception。 以下是代码段: public static void Main (string[] args) { string connectionString = “Data Source=emp.db”; try { using (SQLiteConnection conn = new SQLiteConnection(connectionString)) { string query = “SELECT firstname, lastname FROM employees”; using (SQLiteCommand comm = new SQLiteCommand(query, conn)) { conn.Open(); comm.CommandText = query; using (SQLiteDataReader reader = comm.ExecuteReader()) { while […]

检查对象是否为字典或列表

使用单声道的.NET 2,我使用的是一个基本的JSON库,它返回嵌套的字符串,对象字典和列表。 我正在编写一个mapper来将它映射到我已经拥有的jsonData类,我需要能够确定object的基础类型是Dictionary还是List。 下面是我用来执行此测试的方法,但是想知道这是否更干净? private static bool IsDictionary(object o) { try { Dictionary dict = (Dictionary)o; return true; } catch { return false; } } private static bool IsList(object o) { try { List list = (List)o; return true; } catch { return false; } } 我正在使用的库是litJson但JsonMapper类本质上不适用于iOS,因此我正在编写自己的映射器。