JSON.NET在Ubuntu Linux上

3

我正在尝试在Linux和MonoDevelop上开始使用JSON.NET的Mono版本。我在存储库中找到了相关包,因此我使用以下命令进行了安装: sudo apt-get install libnewtonsoft-json-cil-dev libnewtonsoft-json-cil monodoc-newtonsoft-json-manual

我有以下代码来测试安装是否成功:

using System;
using Gtk;
using Newtonsoft.Json;

namespace jsontest
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Application.Init ();

            Car my_car = new Car ();
            string json = JsonConvert.SerializeObject (my_car);

            MainWindow win = new MainWindow ();
            win.Show ();
            Application.Run ();
        }
    }

    public class Car
    {
        public string make;
        public string model;

        public Car()
        {
            make = "ford";
            model = "jalopy";
        }
    }
}

当我尝试运行程序时,它给出以下错误:The type or namespace name 'Newtonsoft' could not be found. Are you missing an assembly reference?

MonoDevelop为什么找不到我安装的库?


这可能与您的情况有关,但在Windows上,如果您尝试使用4.0/4.5客户端配置文件而不是完整配置文件编译项目设置,则有时会出现此错误。 - Erik Philips
我在网上搜索时还没有看到有关不同配置文件的任何信息。我可以在哪里阅读相关内容? - Hugo
Microsoft .NET 4.0完整框架和客户端配置文件之间的区别类型或命名空间名称找不到 - Erik Philips
1个回答

4

通过apt-get安装后,

http://packages.ubuntu.com/trusty/all/libnewtonsoft-json5.0-cil/filelist

该dll文件可以在Mono GAC中找到,您可以通过添加新引用在MonoDevelop中访问。 必须手动添加此引用,否则会出现错误消息。

这不是“意外的”事情,因为即使在Visual Studio中,如果未正确获取引用,则会出现相同的错误消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接