c# - serializar - No se puede encontrar JavaScriptSerializer en.Net 4.0
serializar y deserializar json c# (12)
- Haga clic con el botón derecho en
References
y hagaAdd Reference
, luego desdeAssemblies->Framework
seleccioneSystem.Web.Extensions
- Ahora debería poder agregar lo siguiente a su archivo de clase:
using System.Web.Script.Serialization;
Parece que no puedo encontrar el objeto JavaScriptSerializer
ni el espacio de nombres System.Web.Script.Serialization
dentro de Visual Studio 2010. Necesito serializar algo para JSON. ¿Qué se supone que debo usar?
Y sí, ya System.Web.Extensions
(en System.Web.Extensions.dll) dentro del proyecto. ¿Por qué me sorprende?
- Sé que
System.Web.Extensions
fue marcado como obsolete en 3.5
¿Está apuntando al framework .NET 4 o al perfil del cliente .NET 4?
Si está apuntando a este último, no encontrará esa clase. También es posible que falte una referencia, probablemente a una dll de extensiones.
¿Incluiste una referencia a System.Web.Extensions
? Si hace clic en su primer enlace, dice en qué ensamblaje se encuentra.
Compruebe si incluyó la versión .net 4 de System.Web.Extensions
: también hay una versión 3.5, pero no creo que una funcione.
Estos pasos funcionan para mí:
- Crear una nueva aplicación de consola
- Cambie el destino a .net 4 en lugar de Perfil de cliente
- Agregar una referencia a
System.Web.Extensions
(4.0) - Tenga acceso a
JavaScriptSerializer
en Program.cs ahora :-)
Desde el primer resultado de búsqueda en google:
Clase JavaScriptSerializer
Proporciona funcionalidad de serialización y deserialización para aplicaciones habilitadas para AJAX.
Jerarquía de herencia
Objeto.juego
System.Web.Script.Serialization.JavaScriptSerializer
Espacio de nombres: System.Web.Script.Serialization
Ensamblaje: System.Web.Extensions (en System.Web.Extensions.dll)
Por lo tanto, incluya System.Web.Extensions.dll
como referencia.
Esta es la forma de obtener JavaScriptSerializer disponible en su aplicación, orientado a .NET 4.0
(completo)
using System.Web.Script.Serialization;
¡Esto debería permitirte crear un nuevo objeto JavaScriptSerializer
!
Estoy usando Visual Studio 2015 y finalmente encontré esta publicación.
Sí para usar
JavaScriptSerializer json = new JavaScriptSerializer();
Debe hacer clic derecho en las referencias y en Ensamblados -> Marco elija
System.Web.Extensions
A continuación, agregue en su referencia
using System.Web.Script.Serialization;
Para aquellos que parecen estar siguiendo las respuestas anteriores pero aún tienen el problema (por ejemplo, vea el primer comentario sobre la pregunta del póster):
Probablemente estés trabajando en una solución con muchos proyectos. El proyecto en el que parece que está trabajando hace referencia a otros proyectos, pero en realidad está modificando un archivo de uno de los otros proyectos. Por ejemplo:
- proyecto A hace referencia a
System.Web.Extensions
- proyecto A referencias proyecto B
Pero si el archivo que está modificando para usar System.Web.Script.Serialization
está en el proyecto B, entonces también deberá agregar una referencia a System.Web.Extension
en el proyecto B.
Tienes que añadir la referencia al proyecto.
En Assemblies, hay un System.Web.Extensions Add that.
Una vez hecho esto ponemos:
using System.Web;
using System.Web.Script;
using System.Web.Script.Serialization;
Eso funcionó para mí.
using System.Web.Script.Serialization;
está en ensamblaje: System.Web.Extensions (System.Web.Extensions.dll)