我正在使用 System.Web.Helpers.Json
将一些 JSON 反序列化为 NET 4 中的 dynamic
。以下行因此错误而失败:TypeInitializationException:尝试通过方法“System.Web.Helpers.Json..cctor()”访问方法“System.Web.Helpers.Json.CreateSerializer()”失败。
var json = Json.Decode(response);
response
是冗长但有效的 JSON。这里可能是什么问题?我试过LINQPad用一个简短的手工 JSON 并且它工作。这是某种配置问题吗?
[编辑]
这是实际的 JSON 示例。看起来内容几乎无关紧要。当它在全新的控制台应用程序或 LINQPad 中运行时,它会按预期工作。但是,如果您尝试从全新的 Windows 窗体应用程序运行相同的代码,则会出现上述错误。
var json = Json.Decode("{\"r\":{\"0\":{\"id\":\"2\"},\"1\":{\"id\":\"33\"}}}");
[编辑2]
实际上,这与项目类型无关。如果正在调试项目,则会引发异常。如果只是简单地运行,则不会发生异常。奇怪吧?
最佳答案
我忘记了这个问题,同时我找到了答案。我认为它在 Microsoft 的 Connect 网站上的某个地方,但我不确定。那么现在就分享给大家吧。
基本上,为了解决此问题,您需要确保在项目的“调试”设置中取消选中“启用 Visual Studio 托管进程”。我不确定它为什么会发生,但这绝对是一种“修复”它的方法。一旦我发现了这一点,我就停止寻找答案。这对我来说已经足够了。
关于c# - 尝试通过方法 'System.Web.Helpers.Json..cctor()' 访问方法 'System.Web.Helpers.Json.CreateSerializer()' 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7066726/