web-dev-qa-db-fra.com

erreur CS0234: Le type ou le nom de l'espace de noms 'Script' n'existe pas dans l'espace de noms 'System.Web'

J'essaie d'utiliser JavaScriptSerializer dans mon application.

J'ai d'abord reçu

Impossible de trouver JavaScriptSerializer

et je l'ai résolu en ajoutant:

using System.Web.Script.Serialization;

Mais alors le sous-mot-clé Script est souligné par une ligne bleue:

Le type ou l'espace de noms 'Script' n'existe pas dans l'espace de noms 'System.Web' (il manque une référence d'assembly?)

J'ai donc ajouté au projet une référence à:

C:\Program Files (x86)\Assemblys de référence\Microsoft\Framework.NETFramework\v4.0\System.Web.Extensions.dll

Cela n'a pas aidé. Je reçois toujours le même soulignement bleu avec la même erreur. La référence est marquée d'un point d'exclamation jaune:

enter image description here

J'ai essayé les solutions suggérées sur ce fil , mais comme @ user781490 l'a indiqué, cela n'a pas aidé dans mon cas.

Aucune idée pour résoudre ça?

36
scatmoi

J'ai trouvé ce post sur le forum MSDN qui suggère deux solutions à votre problème .

Première solution (non recommandée):

Rechercher le dossier .Net Framework 3.5 et 2.0

Copiez System.Web.Extensions.dll de 3.5 et System.Web.dll de 2.0 dans le dossier de l'application

Ajouter la référence à ces deux assemblages

Modifiez la propriété des assemblys référencés, définissez "Copy Local" sur true et générez-le pour tester votre application afin de vous assurer que tout le code fonctionne.

Deuxième solution (Utilisez une classe/bibliothèque différente):

L'utilisateur qui avait posté la question affirmait que Uri.EscapeUriString et Comment: sérialiser et désérialiser les données JSON l’a aidé à reproduire le comportement de JavaScriptSerializer.

Vous pouvez également essayer d'utiliser Json.Net . C'est une bibliothèque tierce et assez puissante.

12
Tejas Sharma

J'ai eu le même. Le script a été souligné. J'ai ajouté une référence à System.Web.Extensions. Par la suite, le script n'a plus été souligné. J'espère que ça aide quelqu'un.

36
Costa Zachariou

Ajoutez System.Web.Extensions comme référence à votre projet

enter image description here

Pour réf.

17
Siddhartha

Ajoutez simplement une référence à System.Web.Extensions et content de vous y rendre.

7
Usman

JsonSerializer étant obsolète en .Net 4.0+, j’utilise http://www.newtonsoft.com/json pour résoudre ce problème.

NuGet-> Install-Package Newtonsoft.Json

1
Enkode