301 votes

Impossible de trouver JavaScriptSerializer dans .Net 4.0

Je n'arrive pas à trouver le JavaScriptSerializer ni l'objet System.Web.Script.Serialization dans Visual Studio 2010. Je dois sérialiser quelque chose en JSON. Que dois-je utiliser ?

Et oui, j'ai déjà inclus le System.Web.Extensions (dans System.Web.Extensions.dll) dans le projet. C'est pourquoi je suis choqué ?

  • Je le sais. System.Web.Extensions a été marqué comme obsolète en 3.5

5 votes

J'ai le même problème, et je dois dire que les réponses sont plutôt inutiles. Je vise le ".NET Framework 4", pas ".NET 4 Profil du client". I ont a référencé l'assemblage System.Web.Extensions. Mais lorsque j'essaie d'utiliser l'espace de noms System.Web.script.Serialization, VS 2010 me dit "Le type ou l'espace de noms script n'existe pas dans l'espace de noms System.Web". Quelqu'un a-t-il trouvé une vraie solution à ce problème ? Je suis perplexe !

0 votes

Poste connexe aquí .

532voto

Steffen Points 3667

Vérifiez si vous avez inclus la version .net 4 de System.Web.Extensions - il y a aussi une version 3.5, mais je ne pense pas qu'elle fonctionne.

Ces étapes fonctionnent pour moi :

  1. Créer une nouvelle application console
  2. Changez la cible en .net 4 au lieu de Client Profile
  3. Ajouter une référence à System.Web.Extensions (4.0)
  4. Avoir accès à JavaScriptSerializer dans Program.cs maintenant :-)

0 votes

En vb.net n'oubliez pas "new" et ( ) comme : Dim JsonConvert As New JavaScriptSerializer()

131voto

Scott Johnson Points 111
  1. Clic droit References et faire Add Reference puis de Assemblies->Framework sélectionnez System.Web.Extensions .
  2. Vous devriez maintenant être en mesure d'ajouter ce qui suit à votre fichier de classe :

    using System.Web.Script.Serialization;

0 votes

Parfait j'ai même oublié de faire quelque chose comme ça merci

0 votes

Super ! explication détaillée

41voto

ShyGuy Points 791

A partir du premier résultat de recherche sur google :

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

Classe JavaScriptSerializer

Fournit des fonctionnalités de sérialisation et de désérialisation pour les applications AJAX.

Hiérarchie d'héritage

System.Object

System.Web.script.Serialization.JavaScriptSerializer

Espace de nom : System.Web.script.Serialization

Assemblée : System.Web.Extensions (dans System.Web.Extensions.dll)

Alors, incluez System.Web.Extensions.dll comme référence.

3 votes

Deux ans plus tard, sur un projet qui n'a rien à voir : il est également utile de le mettre en majuscules correctement >.> (ce n'est pas JavascriptSerializer).

15voto

Alex Hopkins Points 114

Voici comment rendre JavaScriptSerializer disponible dans votre application, en ciblant .NET 4.0 (complet)

using System.Web.Script.Serialization;

Cela devrait vous permettre de créer un nouveau JavaScriptSerializer Objet !

1 votes

Script n'existe pas

9voto

jltrem Points 1414

Pour ceux qui semblent suivre les réponses ci-dessus mais qui ont toujours le problème (par exemple, voir le premier commentaire sur la question de l'affiche) :

Vous travaillez probablement dans une solution comportant de nombreux projets. Le projet dans lequel vous semblez travailler fait référence à d'autres projets, mais vous modifiez en fait un fichier de l'un des autres projets. Par exemple :

  • références du projet A System.Web.Extensions
  • les références du projet A le projet B

Mais si le fichier que vous modifiez pour utiliser System.Web.Script.Serialization est dans le projet B, alors vous devrez ajouter une référence à System.Web.Extension dans le projet B également.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X