Я пытаюсь использовать JavaScriptSerializer
в своем приложении.
Изначально я получил
Не удается найти JavaScriptSerializer
и я решил эту проблему, добавив:
using System.Web.Script.Serialization;
Но тогда подключевое слово Script
подчеркивается синей линией:
Тип или пространство имен 'Script' не существует в пространстве имен 'System.Web' (отсутствует ссылка на сборку?)
Поэтому я добавил в проект ссылку на:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.Web.Extensions.dll
Это не помогло. Я все еще получаю то же самое синее подчеркивание с той же самой ошибкой. Ссылка помечена желтым предупреждением с восклицательным знаком:
Я попробовал предложенные решения в этой теме, но, как указал @user781490, они не помогли в моей ситуации.
Есть идеи, как решить эту проблему?
У меня было то же самое. Сценарий был подчеркнут. Я добавил ссылку на System.Web.Extensions. После этого скрипт больше не подчеркивался. Надеюсь, это кому-нибудь поможет.
Я нашел это сообщение на форуме MSDN, в котором предлагаются два решения вашей проблемы.
Первое решение (не рекомендуется):
Найдите папку .Net Framework 3.5 и 2.0.
Скопируйте System.Web.Extensions.dll из 3.5 и System.Web.dll из 2.0 в папку приложения
Добавьте ссылку на эти две сборки
Измените свойство referenced assemblies, установив "Copy Local" в true. Соберите и протестируйте ваше приложение, чтобы убедиться, что весь код может работать
Второе решение (Использование другого класса / библиотеки):
Пользователь, разместивший вопрос, утверждает, что Uri.EscapeUriString
и How to: Serialize and Deserialize JSON Data помогли ему воспроизвести поведение JavaScriptSerializer
.
Вы также можете попробовать использовать Json.Net. Это сторонняя библиотека и довольно мощная.
Поскольку JsonSerializer устарел в .Net 4.0+, я использовал http://www.newtonsoft.com/json для решения этой проблемы.
NuGet- > Install-Package Newtonsoft.Json