2015-05-11 35 views
1

当使用Newtonsoft JsonConvert将序列化的JSON反序列化为C#对象时,出现此问题。我在一个Linux平台上并使用MonoDevelop。缺少方法DeserializeObject in assembly ....在MonoDevelop + Newtonsoft中

我在终端收到以下错误信息:

Missing method DeserializeObject in assembly /home/deepalj/tmp/c#temp/SerializerTest/SerializerTest/bin/Debug/SerializerTest.exe, type Newtonsoft.Json.JsonConvert 

以下为反序列化代码:

using System; 
using System.Web.Script.Serialization; 

using Newtonsoft.Json; 

    namespace SerializerTest 
    { 
     class MainClass 
     { 
      public static void Main (string[] args) 
      { 
       Payment p = Newtonsoft.Json.JsonConvert.DeserializeObject<Payment> ("{ id: 10, card: 'visa', amount: 1}"); 
       Console.WriteLine ("Card: "+p.card+"\n"+"Amount: "+p.amount); 
      } 
     } 
    } 

以下是Payment类:

using System; 

namespace SerializerTest 
{ 
    public class Payment 
    { 
     public int id { get; set; } 
     public string card { get; set; } 
     public decimal amount { get; set; } 
    } 
} 

任何帮助解决这个问题都会有所帮助。

谢谢。

+0

您使用的是mono和Json.NET的哪个版本? – dbc

+1

我想通了。我必须手动添加.net装配。我会把它作为答案。 – Deepal

回答

2

我想出了解决方案。使用参考 - >编辑参考文献 - > .Net程序集,而不是将Newtonsoft.Json作为包与一起添加到文件夹中 - >编辑参考文件 - >包。我下载了Newtonsoft json pakage here,并将它的Bin/Net45/Newtonsoft.Json.dll作为一个.net程序集。现在它运作良好。

enter image description here