使用 Json.NET 架构解析 JSON 架构会引发错误 System.MethodAccessException

Parsing JSON Schema using Json.NET schema throws error System.MethodAccessException

我正在尝试 JSON 模式验证。我在 JSON.NET Help page 上使用架构的基本示例。我得到异常

System.MethodAccessException: Attempt by method
'Newtonsoft.Json.Schema.JSchema.Parse(System.String)' to access method
'Newtonsoft.Json.Utilities.ValidationUtils.ArgumentNotNull(System.Object, System.String)' failed

我的代码如下

[TestMethod]
    public void prettySimple()
    {
      string schemaJson = @"{
             'type': 'object',
             'properties': {
             'name': {'type':'string'},
             'hobbies': {
             'type': 'array',
             'items': {'type':'string'}
                }
               }
              }";

      JSchema schema = JSchema.Parse(schemaJson);
    }

听起来 Newtonsoft.Json 和 Newtonsoft.Json.Schema.

之间的包不匹配

Newtonsoft.Json.Schema 依赖于 Newtonsoft.Json 版本 >= 6.0.8。因此请确保它在您的项目中是最新的。

我先安装了 Newtonsoft.Json,然后安装了模式包和代码 运行 对我来说很好。

我的包配置:

 <packages>   
    <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net45" />   
    <package id="Newtonsoft.Json.Schema" version="1.0.8" targetFramework="net45"/> 
</packages>