我发现 Helicon Ape 在 GAC 中安装了 Newtonsoft.Json.dll 版本 6.0.3 的替代版本,其中不包括 EntityKeyMemberConvertors 和 ExpandoObjectConvertor 等转换器。这会导致与同样使用 Newtonsoft.Json 版本 6.0 并依赖这些转换器的 Web 应用程序发生重大冲突。
有谁知道 Helicon Ape 从哪里获得了改编版的 Newtonsoft.Json 6.0.3?我无法想象他们自己构建它,因为这需要原始 .snk 文件来签署程序集。github 中的源代码只提供了一个 dynamic.snk,它会产生一个不同的 PublicKeyToken。否则,我可以使用更高版本创建自己的 Newtonsoft.Json 构建,从而允许我否决 Helicon Ape 的基于 GAC 的程序集。