尝试通过方法“System.Web.Helpers.Json..cctor()”访问方法“System.Web.Helpers.Json.CreateSerializer()”失败

2024-03-16

我在用System.Web.Helpers.Json将一些 JSON 反序列化为dynamic在 NET 4 中。以下行失败并出现此错误:TypeInitializationException: Attempt by method 'System.Web.Helpers.Json..cctor()' to access method 'System.Web.Helpers.Json.CreateSerializer()' failed.

var json = Json.Decode(response);

The response很长但有效的 JSON。这里可能出了什么问题?我努力了LINQPad http://linqpad.net用一个简短的手工制作的 JSON 就可以了。这是某种配置问题吗?

[EDIT]

这是实际的 JSON 示例。看起来内容几乎无关紧要。当它在全新的控制台应用程序或 LINQPad 中运行时,它会按预期工作。但是,如果您尝试从全新的 Windows 窗体应用程序运行相同的代码,则会出现上述错误。

var json = Json.Decode("{\"r\":{\"0\":{\"id\":\"2\"},\"1\":{\"id\":\"33\"}}}");

[EDIT2]

事实上,这与项目类型无关。如果项目正在调试,则会抛出异常。如果只是运行的话,不会出现异常。奇怪吧?


我忘记了这个问题,同时我找到了答案。我认为它位于 Microsoft Connect 网站上的某个位置,但我不确定。那么我们现在就来分享一下吧。

基本上,为了解决此问题,您需要确保“启用 Visual Studio 托管进程”未经检查的在项目设置的“调试”下。我不确定为什么会发生这种情况,但这绝对是“修复”它的一种方法。当我发现这个问题后,我就不再寻找答案了。这对我来说已经足够好了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试通过方法“System.Web.Helpers.Json..cctor()”访问方法“System.Web.Helpers.Json.CreateSerializer()”失败 的相关文章