Je viens de télécharger une application du CodePlex :
http://advsampleapp.codeplex.com/
Sample app for Adventureworks database
Et il se trouve qu'à la page suivante :
http://www.mztools.com/Articles/2008/MZ2008017.aspx
On me dit que c'est une application MVC 3.
Lorsque je charge cette solution dans mon Visual Studio, j'obtiens l'erreur suivante :
AdventureWorks.Web.csproj is not supported by this installation |
Je regarde la ligne d'une application MVC 4 standard :
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
\\advsampleapp-15464\Adventureworks\Adventureworks.Web\Adventureworks.Web.csproj
Que se passe t-il ?
Adventureworks.Web.csproj - Reload Project |
Adventureworks.Web.csproj - Install de ASP.NET Web pages with Razor syntax 1.0 |
Le Web Platform Installer me propose d'installer Razor 1.0 ... Ce que je ne fais pas. Je reload simplement mon projet mais au moment de builder l'application, j'obtiens une "Erreur non spécifiée". Par expérience je me doute qu'il s'agit des "Services Références". Au moment de faire un Update des Services Référence :
J'obtiens l'erreur suivante :
Mais une fois mon service reference "PurchasingService" reconstruit l'application ne compile toujours pas. Je décide d'installer ce qui était préconiser le :
En cliquant sur "Installer" :
J'obtiens l'erreur suivante :
Service Reference is invalid |
Web Platform Installer : Visual Studio 2010 SP1 Tool pour ASP.NET WebPages 1.0 |
Version de NuGet installés incompatible avec ASP.NET MVC 3 Tools Update |
En consultant ce lien, on tombe sur un Getting Started with MVC. On y verra également un getting started with MVC 5. Ce n'est pas très cool !
Conclusion MVC 3 vers MVC 4
La migration d'application MVC 3 en MVC 4 ce n'est pas gagné !
Pour aller plus loin :
Donc la version de Razor utilisée pour MVC 3 est 1.0 tandis que MVC 4 utilise Razor 2.0
DLLs qui utilisent ASP.NET Web Pages\v2.0 :
System.Web.Helpers.dll
System.Web.WebPages.dll
Et si on les fait pointer ces références vers la version v1.0 que se passe t-il ?
L'application Build mais à l'exécution en mode DEBUG :
Mais cela c'est du classique, il s'agit de la gestion des droits d'accès au répertoire virtuel, aux BD ASPNETDB et AdventureWorks, de chaines de connexion dans le Web.config ...
Auto Upgrade MVC 3 To MVC 4 1.0.1
Mais il était important de découvrir ce que cet outil doit faire pour traduire une solution.
Pour aller plus loin :
Donc la version de Razor utilisée pour MVC 3 est 1.0 tandis que MVC 4 utilise Razor 2.0
Références du projet AdventureWorks Sample |
System.Web.Helpers.dll
System.Web.WebPages.dll
Et si on les fait pointer ces références vers la version v1.0 que se passe t-il ?
L'application Build mais à l'exécution en mode DEBUG :
Windows authentication is not enabled |
Outil de traduction automatique MVC3 vers MVC4
Et sinon vous avez un outils NuGet qui traduit automatiquement une solution MVC3 en MVC4 :Auto Upgrade MVC 3 To MVC 4 1.0.1
Mais il était important de découvrir ce que cet outil doit faire pour traduire une solution.
Aucun commentaire:
Enregistrer un commentaire
Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.