Не удается найти JavaScriptSerializer в.Net 4.0

Я не могу найти JavaScriptSerializer объект, ни System.Web.Script.Serialization пространство имен в Visual Studio 2010. Мне нужно что-то сериализовать в JSON, что я должен использовать?

И да, я уже включил System.Web.Extensions (в System.Web.Extensions.dll) в рамках проекта. Вот почему я в шоке?

12 ответов

Решение

Проверьте, включена ли версия.net 4 System.Web.Extensions - есть версия 3.5, но я не думаю, что она работает.

Эти шаги работают для меня:

  1. Создать новое консольное приложение
  2. Измените цель на.net 4 вместо профиля клиента
  3. Добавить ссылку на System.Web.Extensions (4.0)
  4. Иметь доступ к JavaScriptSerializer в Program.cs сейчас:-)
  1. Щелкните правой кнопкой мыши References и делать Add Referenceзатем из Assemblies->Framework Выбрать System.Web.Extensions,
  2. Теперь вы сможете добавить следующее в ваш файл класса:
    using System.Web.Script.Serialization;

С первого результата поиска в Google:

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

Класс JavaScriptSerializer

Предоставляет функции сериализации и десериализации для приложений с поддержкой AJAX.

Иерархия Наследования

System.Object

System.Web.Script.Serialization.JavaScriptSerializer

Пространство имен: System.Web.Script.Serialization

Сборка: System.Web.Extensions (в System.Web.Extensions.dll)

Итак, включите System.Web.Extensions.dll в качестве ссылки.

Я использую Visual Studio 2015 и, наконец, наткнулся на этот пост.

Да, чтобы использовать

JavaScriptSerializer json = new JavaScriptSerializer();

Вы должны щелкнуть правой кнопкой мыши по ссылкам и в разделе Сборки -> Выбор платформы

System.Web.Extensions

Затем добавьте в вашу ссылку

using System.Web.Script.Serialization;

Это как сделать JavaScriptSerializer доступным в вашем приложении, нацеливая .NET 4.0 (полный)

using System.Web.Script.Serialization;

Это должно позволить вам создать новый JavaScriptSerializer объект!

using System.Web.Script.Serialization; 

находится в сборке: System.Web.Extensions (System.Web.Extensions.dll)

Вы ориентируетесь на.NET 4 framework или.NET 4 Client Profile?

Если вы нацеливаетесь на последнее, вы не найдете этот класс. Вы также можете пропустить ссылку, вероятно, на расширение DLL.

Для тех, кто, кажется, следит за ответами выше, но все еще имеет проблему (например, см. Первый комментарий на вопрос автора):

Вы, вероятно, работаете над решением многих проектов. Проект, над которым вы работаете, ссылается на другие проекты, но вы фактически изменяете файл из одного из других проектов. Например:

  • Проект A ссылки System.Web.Extensions
  • проект A ссылки проект B

Но если файл, который вы изменяете для использования System.Web.Script.Serialization находится в проекте B, то вам нужно будет добавить ссылку на System.Web.Extension и в проекте Б

Вы включили ссылку на System.Web.Extensions? Если вы нажмете на свою первую ссылку, там написано, в какой сборке он находится

Вы должны добавить ссылку на проект.

В Сборках есть System.Web.Extensions Добавьте это.

Как только это будет сделано, введите:

    using System.Web;
    using System.Web.Script;
    using System.Web.Script.Serialization;

Это сработало для меня.

Вы можете использовать другую опцию, которая является NewtonsoftJASON, вы можете установить ее из диспетчера пакетов NuGet. Инструменты >> Nuget PacakgeManager

введите описание изображения здесь

Просто чтобы вы знали, я использую Visual Studio 2013 и у меня была та же проблема, пока я не использовал Свойства проекта, чтобы перейти на 3.5 Framework и обратно на 4.5. Это по какой-то причине правильно зарегистрировало.dll, и я мог использовать System.Web.Extensions.

введите описание изображения здесь

введите описание изображения здесь

Другие вопросы по тегам