Conversion d'un projet Web de Visual Studio .NET

Mise à jour : novembre 2007

Microsoft Visual Studio 2005 gère les projets de site Web et les fichiers différemment de Visual Studio .NET 2002 et Visual Studio .NET 2003 (lesquels seront appelés collectivement Visual Studio .NET dans le reste de cette rubrique). Par conséquent, lorsque vous souhaitez utiliser dans Visual Studio 2005 un projet créé dans Visual Studio .NET, le projet sera converti en un projet d'application Web. Le processus se produit automatiquement lorsque vous ouvrez un projet Visual Studio .NET dans Visual Studio 2005 ; l'Assistant Conversion convertira votre application Web et réduira le nombre de modifications manuelles requises pour terminer la conversion. Cette rubrique décrit le processus de conversion et spécifie les modifications qui sont apportées dans les fichiers Visual Studio .NET. Pour plus d'informations sur les projets d'application Web, consultez Vue d'ensemble des projets d'application Web.

L'objectif du processus de conversion est de vous permettre d'ouvrir un projet Visual Studio .NET dans Visual Studio 2005, de le convertir automatiquement, puis de l'exécuter sans que les fonctionnalités aient été modifiées. Le processus de conversion est unidirectionnel : après avoir converti un projet en Visual Studio 2005, vous ne serez pas en mesure de l'utiliser dans Visual Studio .NET. Bien que Visual Studio 2005 apporte des modifications aux fichiers d'un projet, vous pouvez faire des copies de sauvegarde des fichiers d'origine. Vous serez encore en mesure d'ouvrir des fichiers Visual Studio 2005 dans Visual Studio .NET comme des fichiers autonomes (sans certaines fonctionnalités, telles qu'IntelliSense), mais l'ensemble du projet aura été modifié. Si nécessaire, vous pouvez restaurer le projet Visual Studio à partir des fichiers de sauvegarde.

Note de sécurité :

Avant de convertir un projet existant vers Visual Studio 2005, contrôlez tous les fichiers existants, surtout si vous n'êtes pas la seule personne à avoir modifié le projet. Recherchez des fichiers non familiers. Cela permet de se protéger contre des importations de code nuisible dans Visual Studio. En général, il est recommandé d'exécuter Visual Studio 2005 en tant qu'utilisateur normal et non administrateur, à moins d'avoir des tâches d'administration à exécuter.

Cette rubrique inclut des informations sur des aspects suivants de la conversion de projets Web en Visual Studio 2005 :

  • Processus de conversion Visual Studio 2005

  • Les solutions et les projets

  • Conversion de paramètres de projet

  • Conversion de configurations spécifiques

  • Composants de données

  • Modules de code

  • Services Web

  • Conversion et contrôle de code source

Processus de conversion Visual Studio 2005

La liste suivante illustre le processus de conversion de base du projet Web à partir de Visual Studio .NET en Visual Studio 2005:

  1. Dans Visual Studio 2005, ouvrez un site Web Visual Studio .NET existant. Vous pouvez ouvrir chacun des fichiers et répertoires suivants :

    • Fichier solution (*.sln)

    • Fichier projet (.vbproj, .csproj ou .vjp)

    • Répertoire racine du site Web

  2. Lorsqu'un fichier projet est trouvé, Visual Studio 2005 appelle l'Assistant Conversion pour convertir le projet Web.

    Remarque :

    Les projets Web n'ont plus besoin d'un fichier projet dans Visual Studio 2005; tous les fichiers qui se trouvent dans le dossier du projet Web sont considérés comme partie intégrante du projet Web.

    Pour plus d'informations sur les étapes de l'Assistant Conversion, consultez Comment : convertir un projet Visual Studio .NET vers Visual Studio 2005.

  3. Visual Studio 2005 convertit votre application Web et passe d'ASP.NET version 1.x à ASP.NET version 2.0. Par exemple, l'attribut CodeBehind dans les pages Web ASP.NET et les contrôles utilisateur est changé en attribut CodeFile. Si un fichier est modifié, les autorisations du fichier d'origine ne sont pas conservées, le nouveau fichier aura des autorisations de lecture/écriture qui sont données aux utilisateurs. Pour plus d'informations sur les modifications apportées aux fichiers, consultez Conversion de solutions Web et de fichiers de projets.

  4. Les fichiers de classe autonomes sont déplacés vers le répertoire App_Code.

  5. D'autres types de fichiers ne sont pas déplacés. Cela inclut les graphiques, les fichiers HTML et ainsi de suite. En outre, le processus de migration ignore des fichiers qui sont en dehors de l'application. Cela permet de se protéger contre des utilisateurs malveillants accédant aux fichiers qui sont à l'extérieur de l'application en utilisant des chemins d'accès relatifs d'un fichier projet.

  6. Un rapport nommé ConversionReport.txt est créé et stocké dans le répertoire racine du projet Web converti. Ce fichier de rapport répertorie toutes les modifications qui ont été apportées à votre projet Web et peut contenir des commentaires informatifs, ainsi que les avertissements et erreurs détectés pendant la conversion. Si, dans l'Assistant Conversion, vous sélectionnez l'option permettant d'afficher le journal de conversion au terme de l'exécution de l'Assistant, vous pourrez consulter un rapport de conversion dans Visual Studio 2005. Pour plus d'informations sur le format de ce rapport, consultez Format du rapport de conversion généré à l'issue de la migration.

Remarque :

Si votre projet utilise le contrôle de code source, les fichiers projet Web ne se trouveront pas sous un contrôle de code source après leur conversion en Visual Studio 2005.

Les solutions et les projets

Lorsque vous ouvrez un fichier solution dans Visual Studio 2005, Visual Studio inspecte le contenu du fichier .sln pour déterminer quels types de projets il contient. Visual Web Developer convertira uniquement les applications Web (pages Web et services Web). Si vous ouvrez un fichier solution qui contient d'autres types de projets, tels que des projets Windows Forms ou des applications console, seuls les projets Web seront ouverts et convertis.

Si vous ouvrez un fichier projet, Visual Studio 2005 convertit les fichiers référencés par ce projet. Aucune tentative n'est faite pour convertir des fichiers qui sont dans le même répertoire que les fichiers projet, mais qui ne font pas partie du projet. Cela peut engendrer des erreurs de génération. Par exemple, si vous avez un fichier appelé Page1.aspx et un fichier code-behind appelé Page1.aspx.cs qui se trouve dans le dossier, mais qui n'est pas inclus dans le fichier projet, alors l'Assistant Conversion ne convertira aucun fichier. Lors de la compilation, vous obtiendrez des erreurs de génération, car à la fois le fichier Page1.aspx et le fichier Page1.aspx.cs seront considérés comme partie intégrante de l'application Web convertie.

Si le projet contient des répertoires qui possèdent des noms déjà attribués dans Visual Studio 2005, tel que App_Data ou App_GlobalResources, Visual Studio 2005 ajoute "_old" aux noms de répertoires existants (par exemple, App_Data_old). Pour résoudre les ruptures de références rompues qui peuvent avoir été engendrées, vous devez modifier manuellement votre code pour faire référence au nouveau répertoire ou déplacer le code dans les répertoires réservés, tels que App_Data ou App_GlobalResources. Pour plus d'informations, consultez Dossiers de code partagé dans des sites Web ASP.NET.

Conversion de paramètres de projet

Étant donné que Visual Studio 2005 ne conserve pas les paramètres dans des fichiers projet, les paramètres des projets Visual Studio .NET sont soit convertis pour donner un fichier Web.config, soit non convertis si les paramètres ne s'appliquent pas dans Visual Studio 2005 de la même façon que dans Visual Studio .NET.

Pour plus d'informations, consultez Conversion de paramètres de projet Web.

Conversion de configurations spécifiques

Si le projet source contient une configuration de génération personnalisée, le processus de conversion vous invite à sélectionner la configuration à convertir. Votre choix détermine les paramètres de projet qui sont utilisés au cours de la conversion pour configurer le site Web dans son nouveau format.

Si le projet source contient uniquement les configurations de génération par défaut (version release et debug), le processus de conversion utilise les paramètres dans la configuration Debug.

Composants de données

Le modèle permettant d'ajouter l'accès aux données des pages Web a été modifié dans Visual Studio 2005. Bien que Visual Studio 2005 utilise encore des composants ADO.NET pour l'accès aux données, il pagine l'accès aux données de contrôle à l'aide de contrôles de source de données, lesquels encapsulent des objets de connexion de données, des objets data command et des groupes de données ou des lecteurs de données. Pour plus d'informations, consultez Vue d'ensemble des contrôles de source de données et Vue d'ensemble des expressions de liaison de données.

Le modèle Visual Studio .NET consistant à utiliser les instances explicites de connexions de données, de commandes de données et de groupes de données est encore pris en charge dans Visual Studio 2005. Lorsque Visual Studio 2005 convertit des pages ou des fichiers qui impliquent l'accès aux données, les objets de données existants sont convertis de manière intacte, et ils continuent à fonctionner dans Visual Studio 2005 comme dans Visual Studio .NET. Toutefois, vous ne serez pas en mesure d'utiliser ces composants de données dans le Concepteur de pages Web Visual Studio 2005 (en mode Design), car le concepteur ne prend pas en charge ces objets. Vous pouvez encore les utiliser en mode Source.

Groupes de données

Pendant la conversion, Visual Studio 2005 convertit le schéma (fichier .xsd) d'un groupe de données typé et le stocke dans le répertoire App_Code. Le fichier .vb ou .cs qui représente la classe DataSet (telle que générée par Visual Studio) n'est pas converti parce que le site Web peut faire automatiquement référence au fichier .xsd.

Modules de code

Les modules de code autonomes (fichiers .vb et .cs) sont déplacés tels quels dans le répertoire App_Code. (Cela ne s'applique pas aux fichiers .vb et .cs qui sont associés aux pages Web ou aux autres fichiers ASP.NET.) Les déclarations de membre marquées Friend ou Internal ont été modifiées en Public.

Pour les fichiers .vb, le processus de conversion ajoute une instruction Namespace pointant sur le répertoire racine du projet Web. En outre, le processus de conversion ajoute toutes les classes qui n'ont pas encore été importées automatiquement par ASP.NET à l'attribut compilerOptions de l'élément compiler.

Services Web

Les services Web sont convertis pour l'essentiel dans même format que dans Visual Studio .NET. Le fichier de classe d'un service Web (fichier .asmx.vb ou .asmx.cs) est déplacé dans le répertoire App_Code. Les membres marqués Friend ou Internal ont été modifiés en Public. L'attribut CodeBehind de la directive @ Page du fichier .asmx est mis à jour pour pointer sur le nouvel emplacement du code.

Dans les services Web Visual Basic, une instruction Namespace est ajoutée au fichier de classe défini par l'espace de noms racine dans le projet Web. Le processus de conversion ajoute également une instruction Imports au fichier Visual Basic pour définir toutes les importations pour le service Web qui n'ont pas encore été importées par défaut par ASP.NET.

Conversion et contrôle de code source

Les inscriptions de code source ne sont pas converties. Après la conversion, les fichiers d'un site Web ne sont plus sous le contrôle de code source.

Voir aussi

Tâches

Comment : convertir un projet Visual Studio .NET vers Visual Studio 2005

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

Concepts

Conversion de solutions Web et de fichiers de projets

Conversion de paramètres de projet Web

Format du rapport de conversion généré à l'issue de la migration

Vue d'ensemble des projets d'application Web

Vue d'ensemble des projets d'application Web