31 votes

J'ai installé MVC 4 Beta, maintenant mes projets MVC 3 lancent une erreur lorsque je reconstruis tout

Je viens d'installer MVC 4 Beta, et maintenant mes projets MVC 3 (que je n'ai pas encore convertis en version 4) lancent une erreur lors de la reconstruction complète :

Erreur 18 [A]System.Web.WebPages.Razor.Configuration.HostSection ne peut pas être converti en [B]System.Web.WebPages.Razor.Configuration.HostSection. Le type A provient de 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' dans le contexte 'Par défaut' à l'emplacement 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'. Le type B provient de 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' dans le contexte 'Par défaut' à l'emplacement 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'.

Est-ce que quelqu'un a déjà rencontré ce problème ? Merci !

59voto

reach4thelasers Points 7375

J'ai passé toute la journée à essayer de réparer cela, et après avoir systématiquement retiré TOUT de mon projet sauf une vue de base et un contrôleur de base, il continuait à afficher cette erreur. J'ai donc commencé à supprimer d'autres éléments et j'ai découvert qu'il y avait un fichier Web.Config rogue dans mon dossier Views qui contenait des éléments de MVC 3.

Recherchez d'autres fichiers Web.Config dans votre projet !!!

6voto

medvekoma Points 171

J'ai eu le même problème et j'ai pu le résoudre comme suit :

  • Supprimez l'assembly System.Web.WebPages.Razor des références du projet.
  • Appuyez sur Enregistrer tout dans la solution.
  • Ajoutez à nouveau l'assembly, assurez-vous de sélectionner la version 1.0.0.0. Sélectionnez Vrai pour Version spécifique dans les propriétés de la référence.

4voto

Johan Wikström Points 700

J'ai une solution pour cela :

Vous devez ajouter ceci à votre fichier web.config mvc 3 :

Et copiez également les fichiers bin depuis

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

dans le dossier bin de votre projet

Si vous avez besoin de déployer votre projet mvc 4 sur un serveur où mvc 4 n'est pas installé, vous devez faire la même chose mais changer la version de 1.0.0.0 à 2.0.0.0 dans la partie section.

Bonne chance !

3voto

Suresh-ISM Points 246

Les étapes pour résoudre ce problème

  1. Trouvez d'abord tous les fichiers web.config dans l'ensemble du projet
  2. Dans tous les fichiers web.config, trouvez le code d'erreur "ne peut pas être converti" donné et changez la version 2.0.0.0 dans configSections de tous les fichiers web.config System.Web.WebPages.Razor.Configuration.HostSection
  3. Si l'erreur se produit à nouveau, trouvez ce code d'erreur et changez la version 2.0.0.0 dans tous les fichiers web.config. Répétez le processus jusqu'à ce que les problèmes liés à la version soient résolus.

1voto

drogon Points 555

Lors de l'installation de MVC4, vos projets mvc3 pointeront vers le système de pages web system.web.webpages ver 2.0..

Pour vos projets MVC3, retirez la référence au système de pages web system.web.webpages ver 2.0.. et ajoutez à nouveau une référence au système de pages web system.web.webpages ver 1.0..

Recompilez et redéployez et cela devrait fonctionner à nouveau...

Je ne suis pas sûr pourquoi cela se produit, mais c'est toujours une installation bêta

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