2010-11-24 19 views
34

Qu'est-il arrivé à la classe TagBuilder entre ASP.NET MVC 3 beta et RC?TagBuilder passé de MVC 3 beta à RC

Lors de la compilation mon projet, j'obtiens l'erreur:

The type name 'TagBuilder' could not be found. This type has been forwarded to assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Consider adding a reference to that assembly.

Cependant cette assemblée n'existe pas dans le GAC (ni dans l'onglet .NET de la Ajouter Références dialogue.) Une recherche de mon disque dur ne fait pas apparaître de DLL avec ce nom non plus.

+1

Je rencontre le même problème avec ASP.NET MVC 3 RTM en essayant de compiler un projet ASP.NET MVC 2. C'est un changement majeur, et c'est décevant que Microsoft l'ait fait. Maintenant je ne peux pas faire le développement de MVC 3 sur la même boîte ou libérer n'importe quelles constructions jusqu'à ce que nous obtenions tous les machines de nos développeurs (et serveurs) pour qu'ASP.NET MVC 3 soit installé. – Paul

+1

J'ai eu ce problème lors de la mise à niveau d'un projet de MVC2 à MVC3 en utilisant VS11. A dû nettoyer, fermer et rouvrir la solution avant que le projet se construise sans donner cette erreur. – Derrick

Répondre

47

Sur mon installation du RC, cette assemblée vit ici:

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.dll 
+0

Ah merci. J'ai cherché avec le mauvais nom de fichier. Apparemment vous et Darin avez répondu exactement au même moment: '2010-11-24 08: 32: 50Z'. J'ai accepté votre réponse parce que votre chemin a fonctionné sur mon système d'exploitation 64 bits, et pour soutenir l'outsider :) –

20

Il est proposé à l'assemblée System.Web.Pages.dll:

c:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\ 
+0

Merci. Je suis sur le point de mettre à niveau de mvc3 beta et heureusement trébuché à travers cela. : P –

+1

Vous avez probablement voulu dire le System.Web.WebPages.dll –

3

Pour votre information: C: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET Pages Web \ v1.0 \ Assemblies \ System.Web.WebPages.dll

est où il a été installé par défaut sur mon Windows 7 Ultimate Box

2

Dans VS 2010 SP1, Microsoft a ajouté une nouvelle fonctionnalité pour copier localement ces assemblys dans votre projet (et le contrôle de source). De cette façon, l'application peut s'exécuter sur des serveurs sans avoir besoin d'installer MVCx. Cliquez avec le bouton droit sur le projet, choisissez "Ajouter des dépendances déployables ..." et cochez la case MVC. System.Web.WebPages sera tiré dans votre projet.

Vérifiez cet article ici qui va plus en détail: Adding-mvc-dependencies-to-project

3

Dans Visual Studio 2012, j'ajouté cette référence en allant au gestionnaire de référence pour le projet (clic droit sur Références dans le projet et sélectionnez Ajouter Référence). Filtrage par assemblées puis extensions (c'est la partie importante) et ajout de System.Web.WebPages.