我刚刚安装了Nuget包Newtonsoft.Json,我认为这就是为什么这行代码的原因:

IndexCreation.CreateIndexes(typeof(DataAccessFactory).Assembly, documentStore);

...正在生成此错误:

Newtonsoft.Json.JsonReaderException:{“解析值时遇到意外字符:< . 路径'',第0行,位置0.”}

我找到了question,问题是Raven客户端和服务器版本不同 . 但这不是我的问题 . 我发现另一个question问题是Newtonsoft.Json程序集存在冲突; RavenDB使用的一个版本,SignalR使用的另一个版本 .

我不明白的是用于RavenDB 2230的Newtonsoft.Json.dll . 旧版本的RavenDB在Server文件夹中有Newtonsoft.Json.dll . RavenDB 2230在其文件夹结构中的任何位置都没有Newtonsoft.Json.dll . 为什么?如果RavenDB需要Newtonsoft.Json.dll,为什么不在那里呢?如果需要,我怎么知道使用什么版本?如果我知道,我可以重定向SignalR以使用此版本(如上面其中一个问题的答案之一所示) .

更复杂的是,我可以想要那个Newtonsoft.Json,但Nuget会为我安装它 . 这感觉就像DLL地狱一样 .