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

使用4.5版本的Json.NET,直到Mono修复它。

要解决此问题,您可以添加对System.Numerics的引用,然后将其属性Copy Local设置为true

您是否尝试过将字符串转换为int的任何其他方法? 我通常使用Convert.ToInt32(// string)或者如果你想要大量的int,那么使用Convert.ToInt64(// string)

否则,退房。 TryParse()函数非常方便:

http://www.dotnetperls.com/convert-string-int

如果没有实现该方法,最好的办法是实现它。 Mono是一个开源项目。 因此,如果您不能等待开发人员实现某些function,您应该加强并实施它,并发送一个带有更改的pull请求。