Переход на JSON.NET 4.0.3 сломал мое приложение

#json.net

#json.net

Вопрос:

У меня есть приложение для Windows Phone 7.1 (Mango), которое использовало JSON.NET 4.0.2.

Я обновил его до 4.0.3, и теперь я получаю всевозможные ошибки.

Десериализованный класс, который работал раньше, теперь выдает эту ошибку: не удалось загрузить тип ‘System.Динамический.IDynamicMetaObjectProvider «из системы сборки».Ядро, версия = 3.7.0.0, Культура = нейтральная, PublicKeyToken = 969DB8053D3322AC ‘.

Я также использую функцию Linq с помощью JArray, и теперь я получаю это сообщение: {«Не удалось загрузить тип ‘Newtonsoft.Json.Linq.JArray’ из сборки’Newtonsoft.Json, Version = 4.0.3.0, Culture = нейтральный, PublicKeyToken=30AD4FE6B2A6AEED'».}

Я попытался очистить решение. Я попытался скопировать библиотеки DLL еще раз.

Есть предложения?

Комментарии:

1. Я исправил свою проблему. Это была плохая ссылка на новую версию. Несмотря на то, что Windows Phone 7.1 поддерживает Silverlight 4, мне пришлось изменить его на .NET 3.5 (Windows Phone).

2. Я только что увидел ту же проблему — сообщил об этом json.codeplex.com/workitem/21811

3. то же самое исправление для меня — в основном используйте wp7, а не DLL wp7.1.

Ответ №1:

Проблема в том, что Windows Phone 7.1 по умолчанию использует сборку Silverlight 4, если не указана явная сборка Silverlight 4 WP. Silverlight 4 имеет функции, которые недоступны на WP, поэтому это вызывает Json.СЕТЬ сломалась.

Это будет исправлено в 4.0.5, если текущая библиотека DLL Windows Phone 7.0 будет использоваться для 7.1, но пока, чтобы устранить проблему, просто измените ссылку на dll на Newtonsoft.Json.dll файл в каталоге sl3-wp.