gpt4 book ai didi

c# - 在面向 .NET Core 的类库包中使用 JsonConvert.DeserializeObject

转载 作者:行者123 更新时间:2023-12-03 22:44:54 26 4
gpt4 key购买 nike

我在尝试使用 Json.NET 的 时无法解决丢失的引用问题JsonConvert.DeserializeObject 面向 .NET Core 的类库包中的方法。

要在 VS2015 中重现:

  • 使用 RC1 创建一个新的类库包。

  • Class Library Package
  • 安装 Newtonsoft.Json v8.0.2。
  • 目标 .NET Core。请参阅下面我正在使用的确切 project.json 文件。
  • 在创建的默认 Class1 中,添加以下简单方法:
    public void DoSomething()
    {
    var x = JsonConvert.DeserializeObject("");
    }
  • 您将收到以下错误:

  • The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0'



    知道我缺少什么引用吗?我假设它是某种 System.Serialization 或 System.IO 包,但我不知道是哪一个。

    项目.json:
    {
    "version": "1.0.0-*",
    "description": "ClassLibrary1 Class Library",
    "authors": [ "DD" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",
    "frameworks": {
    "net451": { },
    "netcore50": {
    "dependencies": {
    "Microsoft.CSharp": "4.0.0",
    "System.Collections": "4.0.0",
    "System.Linq": "4.0.0",
    "System.Runtime": "4.0.0",
    "System.Threading": "4.0.0"
    }
    }
    },
    "dependencies": {
    "Newtonsoft.Json": "8.0.2"
    }
    }

    最佳答案

    您可以通过添加 Microsoft.NETCore.Portable.Compatibility 的依赖项来解决此问题。 . [NuGet page]

    {
    "version": "1.0.0-*",
    "description": "ClassLibrary1 Class Library",
    "authors": [ "DD" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",
    "frameworks": {
    "net451": { },
    "netcore50": {
    "dependencies": {
    "Microsoft.CSharp": "4.0.0",
    "System.Collections": "4.0.0",
    "System.Linq": "4.0.0",
    "System.Runtime": "4.0.0",
    "System.Threading": "4.0.0"
    }
    }
    },
    "dependencies": {
    "Newtonsoft.Json": "8.0.2",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1-beta-23516"
    }
    }

    关于c# - 在面向 .NET Core 的类库包中使用 JsonConvert.DeserializeObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008730/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com