Невозможно найти JavaScriptSerializer в .Net 4.0
Я не могу найти объект JavaScriptSerializer
или пространство имен System.Web.Script.Serialization
в Visual Studio 2010. Мне нужно сериализовать что-то в JSON, что я предполагаю использовать?
И да, я уже включил System.Web.Extensions
(в System.Web.Extensions.dll) в проект. Вот почему я в шоке?
- Я знаю, что
System.Web.Extensions
отмечен как obsolete в 3.5
Ответы
Ответ 1
Убедитесь, что вы включили версию .net 4 System.Web.Extensions
- там также версия 3.5, но я не думаю, что она работает.
Эти шаги работают для меня:
- Создание нового консольного приложения
- Измените цель на .net 4 вместо профиля клиента
- Добавить ссылку на
System.Web.Extensions
(4.0)
- Теперь у вас есть доступ к
JavaScriptSerializer
в Program.cs: -)
Ответ 2
- Щелкните правой кнопкой мыши
References
и сделайте Add Reference
, затем из Assemblies->Framework
выберите System.Web.Extensions
.
- Теперь вы должны добавить следующее в свой файл класса:
using System.Web.Script.Serialization;
Ответ 3
Из первого результата поиска в 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
в качестве ссылки.
Ответ 4
Я использую Visual Studio 2015 и, наконец, столкнулся с этим сообщением.
Да, чтобы использовать
JavaScriptSerializer json = new JavaScriptSerializer();
Вы должны щелкнуть правой кнопкой мыши по ссылкам и в разделе Ассембли → Рамки выбрать
System.Web.Extensions
Затем добавьте в свою ссылку
using System.Web.Script.Serialization;
Ответ 5
Вот как можно получить JavaScriptSerializer в вашем приложении, нацелив .NET 4.0
(полный)
using System.Web.Script.Serialization;
Это должно позволить вам создать новый объект JavaScriptSerializer
!
Ответ 6
Вы настроили таргетинг на платформу .NET 4 или профиль клиента .NET 4?
Если вы настроите таргетинг на последний, вы не найдете этот класс. Возможно, вам также не хватает ссылки, вероятно, на расширение dll.
Ответ 7
Для тех, кто, кажется, следит за ответами выше, но по-прежнему имеет проблему (например, см. первый комментарий к вопросу о плакате):
Возможно, вы работаете в решении со многими проектами. Проект, с которым вы работаете, ссылается на другие проекты, но вы фактически изменяете файл из одного из других проектов. Например:
- проект A ссылки
System.Web.Extensions
- проект Проект ссылок B
Но если файл, который вы модифицируете для использования System.Web.Script.Serialization
, находится в проекте B, вам также нужно добавить ссылку на System.Web.Extension
в проекте B.
Ответ 8
Вы указали ссылку на System.Web.Extensions
? Если вы нажмете на свою первую ссылку, она сообщит, в какую сборку она находится.
Ответ 9
using System.Web.Script.Serialization;
находится в сборке: System.Web.Extensions(System.Web.Extensions.dll)
Ответ 10
Вам нужно добавить ссылку на проект.
В сборках есть System.Web.Extensions Добавьте это.
Как только это будет сделано, поставьте:
using System.Web;
using System.Web.Script;
using System.Web.Script.Serialization;
Это сработало для меня.
Ответ 11
Просто, чтобы вы знали, я использую Visual Studio 2013 и имею ту же проблему, пока я не использовал Свойства проекта, чтобы переключиться на 3.5 framework и вернуться к 4.5. Это почему-то правильно зарегистрировало .dll, и я мог бы использовать System.Web.Extensions.
![введите описание изображения здесь]()
![введите описание изображения здесь]()
Ответ 12
вы можете использовать другую опцию, которая является NewtonsoftJASON, вы можете установить ее из NuGet Package Manager.Tools → Nuget PacakgeManager
![введите описание изображения здесь]()