Procédure pas à pas : conversion d'un projet Web Visual Studio .NET 2003 en projet d'application Web Visual Studio

Mise à jour : novembre 2007

Lorsque vous convertissez un projet Web Visual Studio .NET 2003 en un projet d'application Web Visual Studio 2008, vous pouvez tirer parti des fonctionnalités de Visual Studio 2008. Il s'agit notamment de la refactorisation, des diagrammes de classes, du développement de test et des génériques. Le modèle de projet d'application Web rend également disponibles l'ensemble des fonctionnalités d'ASP.NET 2.0 et versions ultérieures. Celles-ci incluent les pages maître, les contrôles de données, les contrôles d'appartenance et d'ouverture de session, la gestion des rôles, les composants WebPart, la personnalisation, la navigation du site et les thèmes.

Le modèle de projet d'application Web Visual Studio 2008 correspond davantage au modèle de projet disponible pour les applications Visual Studio .NET 2003. Il peut s'avérer utile lorsque vous convertissez un projet Web Visual Studio .NET 2003 vers Visual Studio 2008. Pour plus d'informations sur les nouvelles fonctionnalités, consultez Nouveautés dans ASP.NET et le développement Web.

Remarque :

Vous pouvez créer des projets d'application Web ASP.NET à l'aide de Visual Studio ou de Visual Web Developer Express.

Cette procédure pas à pas explique comment convertir un projet Visual Studio .NET 2003 existant en projet d'application Web dans Visual Studio 2008. Le modèle de projet d'application Web utilise la même approche conceptuelle qu'un projet Web dans Visual Studio .NET 2003, y compris un fichier projet destiné à inclure et exclure des fichiers et une compilation dans un seul assembly. Pour plus d'informations, consultez Conversion d'un projet Web de Visual Studio .NET.

Remarque :

Pour convertir un site Web qui utilise Microsoft Office FrontPage 2003 en un projet d'application Web, commencez par convertir le site Web FrontPage en un projet de site Web Visual Studio 2008. Convertissez ensuite le projet de site Web en un projet d'application Web. Pour plus d'informations, consultez Procédure pas à pas : conversion d'un projet de site Web en projet d'application Web dans Visual Studio.

Cette procédure pas à pas illustre les tâches suivantes :

  • Ouverture et vérification du projet Web Visual Studio .NET 2003

  • Sauvegarde du projet Web Visual Studio .NET 2003

  • Conversion du projet Web Visual Studio .NET 2003 vers Visual Studio 2008

  • Vérification du projet d'application Web dans Visual Studio 2008

  • Conversion de classes code-behind en classes partielles

  • Examen et résolution des problèmes de conformité XHTML

Composants requis

Pour exécuter cette procédure pas à pas, vous devrez :

  • Visual Studio .NET 2003

  • Visual Studio 2008 ou Visual Studio 2005 Service Pack 1 (SP1) ou Visual Web Developer Express

  • .NET Framework version 2.0

Ouverture et vérification du projet Web Visual Studio .NET 2003

Avant de convertir un projet, vérifiez qu'il fonctionne correctement afin d'éviter l'apparition d'erreurs lors de la conversion.

Pour ouvrir et vérifier le projet Web Visual Studio .NET 2003

  1. Ouvrez Visual Studio .NET 2003.

  2. Dans le menu Fichier, cliquez sur Ouvrir un fichier, puis tapez ou recherchez le fichier .sln correspondant à la solution que vous souhaitez vérifier.

    Remarque :

    Dans Visual Studio .NET 2003, les fichiers qui composent le projet sont inclus dans un fichier solution (.sln).

  3. Dans le menu Projet, cliquez sur Générer la solution.

  4. Dans le menu Déboguer, cliquez sur Démarrer.

  5. Vérifiez que le projet s'exécute comme prévu.

Sauvegarde du projet Web Visual Studio .NET 2003

Il est recommandé de sauvegarder la solution Visual Studio .NET 2003 et les fichiers projet avant de démarrer le processus de conversion. En effet, si un problème de conversion se produit, vous pourrez rétablir la solution Visual Studio .NET 2003.

Pour sauvegarder le projet, vous le copiez dans Visual Studio .NET 2003.

Pour sauvegarder le projet Web Visual Studio .NET 2003 avant la conversion

  1. Ouvrez Visual Studio .NET 2003.

  2. Dans le menu Fichier, cliquez sur Ouvrir un fichier, puis tapez ou recherchez le fichier .sln correspondant à la solution que vous souhaitez sauvegarder.

  3. Dans le menu Projet, cliquez sur Copier un projet.

  4. Dans la zone Copier un projet, sélectionnez le dossier du projetDestination.

  5. Sélectionnez une option Méthode d'accès au Web. Vous pouvez utiliser FrontPage ou le Partage de fichiers pour copier les fichiers.

  6. Sélectionnez l'option Tous les fichiers du dossier source du projet, puis cliquez sur OK.

Conversion du projet Web Visual Studio .NET 2003 vers Visual Studio 2008

Visual Studio 2008 convertit la solution Visual Studio .NET 2003 et les fichiers projet afin d'utiliser le format Microsoft Build Engine (MSBuild), qui correspond au format de fichier projet dans Visual Studio 2008.

Dans le cadre du processus de conversion, Visual Studio 2008 génère un fichier journal XML qui fournit un résumé de la conversion et qui signale les problèmes. Par défaut, le fichier journal de conversion est enregistré dans le même répertoire que le fichier .sln. Si vous rencontrez des problèmes lors de la compilation du projet converti, vous pouvez vous reporter au fichier journal de conversion.

Pour convertir le projet Web en Visual Studio 2008

  1. Dans Visual Studio .NET 2003; fermez le fichier solution.

  2. Ouvrez Visual Studio 2008.

  3. Dans le menu Fichier, cliquez sur Ouvrir un fichier, puis tapez ou recherchez le fichier .sln correspondant à la solution que vous souhaitez convertir.

    L'Assistant Conversion de Visual Studio 2008 s'ouvre.

  4. Cliquez sur Suivant, suivez les instructions qui s'affichent pour poursuivre l'Assistant, puis cliquez sur Terminer.

Vérification du projet d'application Web dans Visual Studio 2008

Après la conversion au format Visual Studio 2008 de la solution et des fichiers projet, vérifiez que l'application peut se générer sans erreurs et fonctionner comme prévu.

Pour vérifier le projet d'application Web dans Visual Studio 2008

  1. Dans Visual Studio 2008, dans le menu Fichier, cliquez sur Ouvrir un fichier, puis tapez ou recherchez le fichier .sln correspondant à la solution que vous souhaitez vérifier.

  2. Dans le menu Projet, cliquez sur Générer la solution.

  3. Dans le menu Déboguer, cliquez sur Démarrer.

  4. Vérifiez que le projet d'application Web s'exécute comme prévu.

Erreurs et avertissements courants

Les types d'erreurs ou d'avertissements les plus fréquents qui surviennent lors du processus de conversion sont les suivants :

  • Conflits avec les noms introduits dans le .NET Framework version 2.0.

  • Avertissements concernant des membres obsolètes.

  • Problèmes se produisant lors de l'exécution de l'application Web.

Pour résoudre des conflits de noms, supprimez toute ambiguïté en qualifiant pleinement les noms existants avec un espace de noms. Sinon, renommez les types et les membres en conflit afin d'éviter tout conflit. Pour plus d'informations sur les conflits de noms, consultez Vue d'ensemble de la migration d'ASP.NET 2.0 et Instructions concernant l'affectation de noms des espaces de noms.

Si un avertissement s'affiche à propos de membres obsolètes, le message d'avertissement propose généralement d'autres membres à utiliser. Dans ce cas, vous pouvez continuer à utiliser les membres obsolètes. Toutefois, les membres seront supprimés dans la prochaine version principale du .NET Framework. Il est donc recommandé de supprimer les membres et de les remplacer par les solutions alternatives proposées.

Si, lors de l'exécution d'une application Web, vous apercevez une erreur indiquant que l'affichage du contenu du répertoire est refusé, il se peut que le répertoire virtuel de votre application Web ne permette pas de répertorier le contenu de son répertoire. Pour résoudre ce problème, dans l'Explorateur de solutions, cliquez avec le bouton droit sur la page de démarrage de l'application, puis cliquez sur Définir comme page de démarrage. Vous garantissez ainsi que la page correcte est appelée lorsque l'application s'exécute.

Conversion de classes code-behind en classes partielles

Dans Visual Studio 2008, les projets d'application Web utilisent des classes partielles pour le code généré par Visual Studio. Ces classes sont stockées dans un fichier séparé du fichier code-behind. Par défaut, l'Assistant Conversion de Visual Studio 2008 ne crée pas de fichier *.designer.cs, ni de fichier *.designer.vb pour les pages Web (fichiers .aspx) ou les contrôles utilisateur (fichiers .ascx). En revanche, le code ressemblera et fonctionnera de la même façon que dans Visual Studio .NET 2003.

Remarque :

L'Assistant Conversion de Visual Studio 2008 apportera un minimum de modifications aux fichiers de code lors du processus de conversion, ceci afin de garantir une conversion en douceur vers un projet d'application Web dans Visual Studio 2008.

Vous pouvez conserver le code au format Visual Studio .NET 2003. Dans ce cas, vous devez mettre à jour manuellement les déclarations de champ de contrôle dans les fichiers code-behind, tout comme dans Visual Studio .NET 2003. Toutefois, vous devez mettre à jour les pages et contrôles afin d'utiliser le modèle de classe partielle pour tirer parti de la capacité de maintenir des déclarations de champ dans le code généré. Les classes partielles simplifient l'organisation du code généré et du code personnalisé pour les fichiers code-behind. Pour plus d'informations, consultez Partial (Visual Basic) et partiel, Type (Référence C#).

Pour convertir le code afin d'utiliser le modèle de classe partielle

  1. Assurez-vous que le code se compile sans erreurs.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis sur Convertir en application Web.

    Cette commande parcourt chaque page et chaque contrôle utilisateur du projet. Elle déplace toutes les déclarations de contrôle dans un fichier .designer.cs ou .designer.vb et ajoute des déclarations de gestionnaire d'événements au balisage de contrôle serveur dans les fichiers .aspx et .ascx.

    Remarque :

    Vous pouvez utiliser la commande Convertir en application Web sur des pages individuelles. Commencez cette opération sur quelques pages afin de voir les modifications qui ont été apportées pour chaque page avant d'appliquer les modifications à l'application entière.

    Il est impossible d'annuler l'effet de la commande Convertir en application Web. La meilleure méthode pour restaurer les modifications consiste à effectuer la restauration d'une sauvegarde du projet Visual Studio .NET 2003, puis à réexécuter la conversion Visual Studio 2008, comme décrit précédemment.

  3. Lorsque le processus est terminé, vérifiez dans la fenêtre Liste des tâches si des erreurs de conversion sont signalées.

  4. Si la Liste des tâches affiche des erreurs, cliquez avec le bouton droit sur la page adéquate dans l'Explorateur de solutions et sélectionnez Afficher le code et Afficher le fichier de génération de code pour examiner le code et résoudre les problèmes.

    Remarque :

    Les erreurs et avertissements qui apparaissent dans la fenêtre Liste des tâches persistent entre différentes sessions Visual Studio. Après avoir résolu les erreurs répertoriées dans la fenêtre, vous pouvez effacer les éléments de la liste des tâches.

  5. Recompilez le projet pour vous assurer qu'il se compile sans erreurs.

À ce moment, lorsque vous ajoutez de nouvelles pages au projet Web, elles utilisent par défaut le modèle de classe partielle. Pour plus d'informations, consultez Vue d'ensemble de la migration d'ASP.NET 2.0.

Examen et résolution des problèmes de conformité XHTML

Par défaut, Visual Studio 2008 génère et valide le balisage conforme XHTML. Cela permet de générer des applications Web qui sont conformes aux normes et de minimiser les problèmes de rendu spécifique du navigateur. Par défaut, Visual Studio .NET 2003 ne génère pas de balisage conforme XHTML. Par conséquent, après que vous avez converti l'application Web en Visual Studio 2008, les pages créées dans Visual Studio .NET 2003 peuvent présenter des problèmes de validation et de rendu.

Remarque :

Les erreurs de validation sont fournies à titre informatif uniquement et sont signalées comme des avertissements. Les erreurs de validation n'empêchent pas une page de s'exécuter.

Si vous souhaitez consulter les erreurs de validation HTML de la même façon que dans Visual Studio .NET 2003, remplacez le paramètre de validation HTML XHTML Transitional par Internet Explorer 6.0. Internet Explorer 6.0 était le paramètre par défaut dans Visual Studio .NET 2003 pour la validation HTML. Pour plus d'informations, consultez Comment : sélectionner des schémas de validation pour l'édition HTML dans Visual Web Developer.

Vous pouvez également ajouter la section suivante au fichier Web.config du projet pour forcer ASP.NET à restituer le balisage hérité (non conforme XHTML) des contrôles serveur :

<system.Web>
  <xhtmlConformance mode="Legacy" />
</system.Web>

Cela empêchera les petites différences de rendu que vous pourriez obtenir en fonction de l'affichage des pages à l'aide d'ASP.NET 1.1 ou d'ASP.NET 2.0. Notez que vous ne devez utiliser le changement de mode xhtmlConformance que pour résoudre les problèmes de conversion. Une fois que le projet d'application Web s'exécute correctement, supprimez le paramètre de configuration hérité. Pour plus d'informations, consultez ASP.NET et XHTML et Vue d'ensemble de la migration d'ASP.NET 2.0.

Voir aussi

Tâches

Comment : mettre à niveau des projets créés dans Visual Studio .NET 2002 ou 2003

Concepts

Conversion d'un projet Web de Visual Studio .NET

Vue d'ensemble de la migration d'ASP.NET 2.0

Modèle de code des pages Web ASP.NET

ASP.NET et XHTML

Référence

Partial (Visual Basic)

partiel, Type (Référence C#)

Classes et méthodes partielles (Guide de programmation C#)

Assistant Conversion de Visual Studio

Autres ressources

Instructions concernant l'affectation de noms des espaces de noms