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