web-dev-qa-db-fra.com

Conversion d'un projet ASP.NET MVC 3 en MVC 4

Quelles mesures dois-je prendre pour mettre à niveau en toute sécurité un projet ASP.NET MVC 3 existant vers la dernière version d'ASP.NET MVC 4 Developer Preview ?

51
Petrus Theron

Le changement majeur consiste à mettre à niveau les références pertinentes vers la dernière version (4.0/2.0). Vous devez mettre à jour vos fichiers de configuration Web pour mettre à niveau la version des espaces de noms suivants

  • System.Web.Mvc (passer à 4.0.0.0)
  • System.Web.Webpages (passer à 2.0.0.0)
  • System.Web.Helpers (passer à 2.0.0.0)
  • System.Web.WebPages.Razor (passer à 2.0.0.0)

Vous devez également mettre à jour le fichier de configuration Web au niveau racine pour que ces entrées de paramètres d'application

<appSettings>
  <add key="webpages:Version" value="2.0.0.0" />
  <add key="PreserveLoginUrl" value="true" />
</appSettings>

Vous devez ensuite mettre à jour les DLL référencées dans le projet. Supprimez la référence DLL MVC3 existante et ajoutez MVC4 (utilisez le gestionnaire de packages nuget pour ce faire)

Ce lien gère tous les aspects de la conversion. Référez-le au besoin.

43
Shyju

Suivez les étapes officielles affichées ici:

http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806

Remarque: Ces étapes couvrent la version officielle - pas l'aperçu du développeur.

17
Seth

Mieux encore, utilisez l'outil de mise à jour automatique:

https://www.nuget.org/packages/UpgradeMvc3ToMvc4

6
Justin

Le mieux est d'installer le MVC4 à partir du programme d'installation de la plateforme. Suivez ensuite les étapes sur la page officielle asp.net/mvc/mvc4. Si vous suivez (uniquement) les instructions Shyju, cela ne fonctionnerait pas.

Lorsque vous terminez avec les instructions officielles, regardez dans votre répertoire Views, et vous pouvez trouver un autre web.config avec une autre référence à l'assemblage MVC et plusieurs autres pour rasoir. Vous souhaitez également modifier les versions de ces lignes. Remplacez fondamentalement tous les 3.0.0.0 que vous trouvez pour 4.0.0.0 et 1.0.0.0 pour 2.0.0.0

SI VOUS NE FAITES PAS CE DERNIER CHANGEMENT, VOUS POUVEZ FINIR AVEC L'ERREUR SUR LA SUITE [[# #]] question [~ # ~]

Recherchez les DLL incluses et assurez-vous qu'elles correspondent aux versions correctes.

4
Sergio