Y a t il une explication derrière le message d'erreur “le type ou Le nom d'espace de noms 'Script' n'existe pas dans l'espace de noms du Système".Web"”
J'ai fait un "ASP.NET Site Web Vide" dans Visual Studio Express 2010.
Sur un fichier de code dans le App_Code, j'ai la ligne "à l'aide du Système.Web.Script.La sérialisation;"
Quand j'ai poussé les fichiers sur le serveur, j'ai eu l'erreur suivante:
Message de l'Exception: c:\inetpub[....]\Extensions.cs(10): error CS0234:
Le type ou le nom d'espace de noms 'Script' n'existe pas dans l'espace de noms
'Système.Web' (vous manque une référence d'assembly?)
(Le serveur exécute Windows Server 2008 avec IIS 7 avec ASP.NET 4.0 est installé.)
Puisque c'est un site web, et non pas d'un projet web, je ne pouvais pas utiliser la fonction "publier" fonction telle que promue ici: Le type ou le nom d'espace de noms 'Script' n'existe pas dans l'espace de noms du Système".Web'
Enfin, après quelques recherches, j'ai compris que cet espace de noms est inclus dans le Système.Web.L'Extension de l'assemblée, et que j'ai eu à manuellement l'inclure via le web.config:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</assemblies>
</compilation>
Donc, ma question: est-il une meilleure façon d'aller à ce sujet?
Puisque rien de ce qui est nécessaire à mon projet local, comment puis-je d'abord déterminer ce que les assemblées, je vais avoir besoin de faire référence à la main, et deuxièmement, comment puis-je obtenir les informations nécessaires pour faire le référencement (c'est à dire, comment puis-je obtenir le PublicKeyToken)?
Mise à JOUR
Parce que c'est un Site Web et non pas d'un Projet Web, ma liste de références n'apparaissent pas jusqu'à ce que après - je les ajouter sur le Web.Config manuellement.
Donc, pour sélectionner "Copie Locale" à "true" ne fonctionne pas dans ce cas.
OriginalL'auteur dochoffiday | 2012-04-26
Vous devez vous connecter pour publier un commentaire.
Ressemble à votre fournisseur n'a pas la dll
System.Web.Extensions
dans le GAC.L'espace de noms
System.Web.Scripts
fait partie de laSystem.Web.Extensions.dll
.Vous pouvez résoudre votre problème si vous n'.
System.Web.Extensions
dans votre projet RéférencesCopy Local
àtrue
Cela garantit que vous déployez cette dll trop.
OriginalL'auteur dknaack
Juste ajouter un Système.Web.Extensions comme une référence à votre projet. Vous n'avez pas à le faire manuellement via le web.config. Jeu de Copie Locale de vrai pour vous assurer qu'il est inclus dans votre distribution.
OriginalL'auteur Joe Enzminger
vous pouvez cliquer droit sur le nom du projet/emplacement dans votre projet de site web et de choisir Ajouter une Référence.... À partir de là, une boîte de dialogue s'affiche. Choisissez la .NET onglet et sélectionnez le Système.Web.Extensions. Cela devrait l'ajouter au projet. Vous pouvez faire cela pour tous les espaces de noms que vous devez ajouter.
OriginalL'auteur Charles Lambert
Mon problème était similaire, parce que je suis en train de faire une application WPF. En ajoutant les Extensions de référence n'a pas été suffisant pour Intelisense de détecter ce que l'aide dont j'avais besoin pour instancier JavaScriptSerializer. Plus tard, j'ai découvert que j'avais besoin de les ajouter à l'aide du Système.Web.Script.La sérialisation; et puis enfin, elle a travaillé 🙂
OriginalL'auteur Reza Shek