7

Je travaille actuellement sur MVC 2 avec Visual Studio 2010 et voir le moteur comme ASPX type de projet.Convertir MVC 2 ASPX en moteur de vue MVC 4 Razor

J'ai donc décidé de déménager avec Visual Studio 2012 avec MVC 4 et voir le moteur comme Razor.

Pourrais-je réaliser cette tâche ci-dessus.Si oui Comment?

Je voudrais entendre votre expérience pour le même genre de situation.

Note: Mon projet est de grande envergure.

+3

Nous avons converti stackoverflow de MVC/aspx à MVC/cshtml - ce n'était pas très différent de "ajouter quelques références, écrire une nouvelle mise en page par défaut (pour remplacer la page maître), ajouter des fichiers .cshtml à la place de. aspx ". Dans la plupart des endroits IIRC je viens de renommer le .aspx en .cshtml et puis résolu tous les problèmes (j'ai effectué une recherche globale sur '<%' or '%>' dans les fichiers .cshtml. Il * a simplement travaillé *. Je pense que nous avons copié les parties rasoir-esque le fichier de configuration en créant simplement un nouveau projet de rasoir et en regardant ce qui était différent –

+0

@MarcGravell Pourriez-vous expliquer un peu plus sur "écrire une nouvelle disposition par défaut (pour remplacer la page maître)"? – Sampath

+2

typiquement vous auriez un _ViewStart. cshtml' qui assigne le 'Layout' à une version cshtml de votre ancienne page maître, par exemple, notre' _ViewStart.cshtml' comprend 'Layout =" ~/Views/Master.cshtml ";', où ''/Views/Master.cshtml' est le modèle de page standard converti –

Répondre

5

Créez un nouveau projet MVC4 dans Visual Studio 2012 et ajoutez les fichiers source de votre ancienne solution à votre nouvelle solution, l'un après l'autre. Passer de MVC3 à MVC4 est plus facile avec une nouvelle solution, je dois imaginer que passer de 2 -> 4 serait encore plus complexe pour essayer de mettre à jour sur place.

La conversion d'ASPX vers Razor devrait probablement être effectuée manuellement. Bien qu'il existe des convertisseurs là-bas (comme this one ou code comme la réponse acceptée dans this SO question), personnellement, je ne ferais pas confiance à mon application à l'automatisation pure.

En outre, je convertirais probablement un à la fois. En d'autres termes, convertissez d'abord ASPX -> Razor ou MVC2 -> MVC4 et assurez-vous que tout fonctionne avec votre conversion. Ensuite, convertissez l'autre afin que si vous rencontrez des problèmes, vous n'avez pas à essayer de savoir si c'est la mise à niveau de la version ou la mise à niveau de la syntaxe qui a causé votre problème.

+0

Pourriez-vous expliquer un peu plus sur "Conversion de ASPX à Razor devra être fait manuellement." ? – Sampath

+0

Je veux dire que vous devrez convertir chaque fichier de l'extension .an aspx vers une extension .cshtml, puis changer manuellement le balisage dans le fichier de la syntaxe ASPX à la syntaxe Razor. – Scott

+0

@Sampath actuellement vous avez toute une pile de fichiers aspx; aspx et cshtml ont une syntaxe différente (pour les bits qui ne sont pas simplement du balisage html). Donc: quelqu'un (aka "vous") doit passer par et * changer le code * dans chaque vue –