10

我目前使用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] 代码.google.com/p/skitsanoswdk

4

4 回答 4

18

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

于 2013-09-10T10:24:40.887 回答
2

Use a 4.5 version of Json.NET until Mono fix it.

于 2013-06-18T17:58:25.123 回答
0

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

否则,请检查。TryParse() 函数非常方便:

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

于 2013-06-18T18:04:15.497 回答
-1

如果方法没有实现,最好的办法就是实现它。Mono 是一个开源项目。因此,如果您不能等待开发人员实施某些东西,您应该加紧实施它,并发送一个包含您的更改的拉取请求。

于 2013-06-19T17:29:39.243 回答