2

这可能不是 100% 与 Json.NET 相关,但因为它是崩溃的组件......

在 Windows 应用程序证书工具包的第二次测试之前,序列化工作得很好。从这个应用程序启动开始,它会引发以下异常:

System.EntryPointNotFoundException Entry point was not found.
at Newtonsoft.Json.Utilities.ReflectionUtils.GetFieldsAndProperties(Type type, BindingFlags bindingAttr) in \Newtonsoft.Json\Utilities\ReflectionUtils.cs:line 661
at Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(Type objectType) in \Newtonsoft.Json\Serialization\DefaultContractResolver.cs:line 267
at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(Type type, MemberSerialization memberSerialization) in \Newtonsoft.Json\Serialization\DefaultContractResolver.cs:line 845
at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(Type objectType) in \Newtonsoft.Json\Serialization\DefaultContractResolver.cs:line 349
at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType) in \Newtonsoft.Json\Serialization\DefaultContractResolver.cs:line 734
at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type) in \Newtonsoft.Json\Serialization\DefaultContractResolver.cs:line 232
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.GetContractSafe(Object value) in \Newtonsoft.Json\Serialization\JsonSerializerInternalWriter.cs:line 77
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value) in \Newtonsoft.Json\Serialization\JsonSerializerInternalWriter.cs:line 58
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value) in \Newtonsoft.Json\JsonSerializer.cs:line 608
at Newtonsoft.Json.JsonConvert.SerializeObject(Object value, Formatting formatting, JsonSerializerSettings settings) in \Newtonsoft.Json\JsonConvert.cs:line 749

代码看起来像这样......

var test = JsonConvert.SerializeObject(new { id = "a", test = "test" });

在应用程序上运行 WACK 后,我必须重新安装它才能使其再次工作。

有谁知道 WACK 如何运行该应用程序?我想它在每次启动时都会以某种方式模拟各种环境,但我不知道它是如何弄乱我的应用程序的。

4

2 回答 2

0

该问题是由 Json.NET 在 GetFieldsAndProperties 中使用匿名类型引起的。在第三方 dll 中使用时,WinRT 必须存在错误。

于 2012-06-09T03:30:36.123 回答
0

对不起,我的错。我确认它已在第 7 版中修复

我在 Connect 上打开了一个错误,因为这是在 Windows 8 Metro 上使用 grate JSNO.Net 的阻塞问题。

https://connect.microsoft.com/VisualStudio/feedback/details/749011/ngen-failing-with-json-net-metro

于 2012-06-14T10:05:34.820 回答