Vue d'ensemble sur le déploiement de projet d'application Web pour Visual Studio et ASP.NET

Cette rubrique présente les tâches requises pour la publication (déployer) un projet d'application Web Visual Studio sur un serveur sur lequel d'autres personnes peuvent accéder à l'application sur Internet.

Cette rubrique s'applique aux produits suivants :

La rubrique contient les sections suivantes :

  • Scénarios de déploiement

  • Tâches de base de déploiement

  • Configurer le déploiement de base de données dans Visual Studio

  • D'autres tâches de déploiement

  • Sauvegarder et restaurer

Certaines des tâches répertoriés ici s'appliquent uniquement aux projets d'application Web. Pour plus d'informations sur le déploiement de projets de site Web, consultez l' Organigramme des informations relatives au déploiement Web pour Visual Studio et ASP.NET.

Scénarios de déploiement

Vous pouvez déployer un projet d'application Web à l'aide de la publication en un clic ou un package de déploiement:

  • La publication en un clic fait référence à une fonctionnalité dans Visual Studio qui vous permet de déployer directement à partir de l'IDE de Visual Studio en cliquant sur un bouton. Visual Studio se connecte à un serveur de destination, copie des fichiers projet à lui, et effectuer d'autres tâches de déploiement.

  • Un package de déploiement Web est un fichier .zip qui contient toutes les informations nécessaires au déploiement. Vous créez le package à partir de la ligne de commande ou dans Visual Studio, et vous l'installez sur le serveur de destination à l'aide de la ligne de commande ou de Gestionnaire des services IIS.

Laquelle de ces méthodes vous utilisez dépend de votre scénario et de votre préférence personnelle. La publication en un clic est généralement le meilleur choix pour les petites organisations qui n'implémentent pas un processus de développement continu integration (CI). Vous déploieriez généralement à une société d'hébergement où votre application s'exécute dans un environnement d'hébergement partagé ou sur un serveur dédié. (Dans un environnement d'hébergement partagé, un serveur unique est utilisé pour les sites hôte pour plusieurs clients de société d'hébergement.)

Scénarios classiques de déploiement d'hébergement tiers

Dans un environnement d'entreprise, vous déployez en général des serveurs de votre société, qui à son tour sont connectés à Internet, et vous implémentez généralement un processus CI de. L'application est promue dans les environnements de test et intermédiaire avant d'être déployée en production. Dans ces scénarios que vous pouvez utiliser la publication en un clic pour déployer dans un environnement de test, mais pour la progression dans des environnements de production, un package de déploiement est généralement utilisé. Les packages de déploiement sont plus appropriés pour les scénarios d'entreprise car ils peuvent être intégrés dans le processus CI de à l'aide de la ligne de commande pour créer et installer les modules.

Scénarios classiques pour le déploiement Web d'entreprise

Le troisième hébergement et les scénarios d'entreprise s'appliquent lorsque vous hébergez votre application Web en nuage à l'aide de Windows azure. Dans le windows azure, votre application peut s'exécuter dans un environnement d'hébergement partagé ou sur les ordinateurs virtuels dédiés.

Tâches de base de déploiement

Voici les tâches de base que vous devez effectuer pour effectuer un déploiement vers une société d'hébergement tiers :

  1. Installez un compte avec une société d'hébergement.

    Pour plus d'informations sur les fournisseurs d'hébergement qui prennent en charge le déploiement automatisé de Visual Studio, consultez Hébergement d'ASP.NET. Assurez -vous que vous choisissez un fournisseur qui prend en charge la version d'ASP.NET que votre projet Web cible.

  2. Créez un profil de publication.

    Un profil de publication spécifie le serveur que vous déployez sur, les informations d'identification pour se connecter au serveur, bases de données à déployer, et d'autres options. La société d'hébergement vous envoie les paramètres dont vous avez besoin pour le profil de publication, dans un courrier électronique ou dans un fichier que vous pouvez importer dans Visual Studio.

  3. Démarrez le processus de déploiement en cliquant sur le seul cliquez sur pour publier le bouton.

    Le bouton Publier est dans l'assistant publiez le Web que vous utilisez pour créer des profils de publication. Elle est également disponible dans la barre d'outils Le Web un clic que vous pouvez choisir dans le menu Affichage– àBarres d'outils dans Visual Studio.

À l'aide de général avec ce processus, consultez Comment : déployer un projet d'application Web à l'aide de la publication en un clic dans Visual Studio. Pour un didacticiel en 12 parties qui vous guide à travers un scénario de bout en bout pour le déploiement de Visual Studio, consultez Déploiement vers un fournisseur d'hébergement sur le site ASP.NET.

Notes

Par défaut, Visual Studio 2012 crée les projets Web ASP.NET qui cible 4,5.Si vous déployez un projet ASP.NET 4,5 à un fournisseur d'hébergement qui ne prend pas en charge ASP.NET 4,5, l'application ne s'exécutera pas.Pour corriger l'erreur, vous devez supprimer tous les fichiers d'application qui ont été déployés sur le serveur.Pour plus d'informations, consultez Déploiement vers un fournisseur d'hébergement : Dépannage.

Pour les scénarios de déploiement d'entreprise, consultez Applications Web de déploiement dans les scénarios d'entreprise la série d'instructions sur le site ASP.NET. Les didacticiels de déploiement d'entreprise a été spécifié avec Visual Studio 2010 et n'ont pas encore été mis à jour pour Visual Studio 2012.

Configurer le déploiement de base de données dans Visual Studio

Visual Studio propose trois méthodes de déploiement automatisé de base de données :

  1. Transferts de code Entity Framework premiers

  2. Le Web de dbDacFx déployez le fournisseur

  3. Le Web de dbFullSql déployez le fournisseur

Ces trois méthodes peuvent être utilisées uniquement lorsque vous choisissez le déploiement Web la méthode de publication. Si vous utilisez une méthode de publication différente, telle que le FTP, le système de fichiers, ou le FPSE, vous devez gérer le déploiement de base de données en dehors de Visual Studio. Consultez les ressources suivantes pour plus d'informations sur le déploiement des bases de données SQL Server manuellement :

Dd394698.collapse_all(fr-fr,VS.110).gifTransferts de code Entity Framework premiers

Dans la version 4,3 Entity Framework, Microsoft a introduit les premiers transferts de code. Le code les premiers transferts automatiser le processus d'apporter des modifications incrémentielles à un modèle de données et de propager ces modifications dans la base de données. Dans les versions antérieures du code en premier lieu, vous devez généralement laissez le déplacement Entity Framework et recréer la base de données chaque fois que vous avez modifié le modèle de données. Ce n'est pas un problème du développement de car le test est facilement recréé, mais en production vous souhaitez généralement mettre à jour le schéma de base de données sans supprimer la base de données. La fonctionnalité de transferts permet au code d'abord de mettre à jour la base de données sans la supprimer et recréer. Vous pouvez conserver le code d'abord automatiquement décider comment effectuer les modifications de schéma requises, ou vous pouvez écrire le code qui personnalise les modifications. Pour une introduction aux premiers transferts de code, consultez Le code les premiers transferts.

Visual Studio peut automatiser le processus de déploiement d'une base de données qui est gérée par les premiers transferts de code. Lorsque vous configurez le profil de publication, vous sélectionnez une case à cocher qui est marquée Exécutez la première transferts de code (s'exécute sur le démarrage de l'application):

Publish_Web_Settings_tab_with_cf_database_high

Cette case à cocher est indiquée pour les bases de données que les accès d'application en utilisant classe de contexte de code Entity Framework d'une première. Lorsque vous sélectionnez cette option, le processus de déploiement configure automatiquement le fichier Web.config de l'application sur le serveur de destination afin que le code utilise d'abord la classe d'initialiseur d' MigrateDatabaseToLatestVersion . L'illustration suivante montre un exemple de quoi ressemble cette configuration à dans le fichier Web.config :

MigrateDatabaseToLatestVersion dans Web.config

L'option Exécutez la première transferts de code fait également mettre le processus de déploiement une chaîne de connexion supplémentaires dans le fichier Web.config de destination :

Chaîne de connexion DatabasePublish dans Web.config

Le code utilise d'abord cette chaîne de connexion supplémentaires pour apporter des modifications de schéma de base de données. Cette chaîne de connexion doit spécifier les informations d'identification de l'utilisateur qui ont un accès administratif à la base de données. Étant donné que le code utilise d'abord une chaîne de connexion distincte pour les mises à jour incluses dans le schéma, vous pouvez spécifier les informations d'identification de l'utilisateur qui a des autorisations limitées dans la chaîne de connexion d'application. Pour plus d'informations, consultez Examiner les modifications automatique du fichier Web.config pour les premiers transferts de code sur le site ASP.NET.

Visual Studio ne fait rien avec la base de données pendant le processus de déploiement. Lorsque l'application déployée accède à la base de données pour la première fois après le déploiement, le code crée d'abord automatiquement la base de données ou met à jour le schéma de base de données à la version la plus récente. Si l'application implémente une méthode d' Seed de transferts, la méthode s'exécute après la base de données est créée ou le schéma est mis à jour.

Pour plus d'informations sur la configuration du déploiement initial de transferts de code dans Visual Studio, consultez Comment : déployer un projet d'application Web à l'aide de la publication en un clic dans Visual Studio et les séries Déployer une application Web ASP.NET à un fournisseur d'hébergement à l'aide de Visual Studio ou Visual Web Developerd'instruction.

Dd394698.collapse_all(fr-fr,VS.110).gifLe Web de dbDacFx déployez le fournisseur

Pour utiliser le Web de dbDacFx déployez le fournisseur pour le déploiement de base de données, vous activez la case à cocher mettez à jour la base de données dans l'assistant publiez le Web . Cette case à cocher est indiquée pour les bases de données SQL Server ces les accès de l'application sans utiliser classe de contexte de code Entity Framework une première :

Publish_Web_Settings_tab_with_non_cf_database_

Pendant le déploiement initial, le fournisseur de dbDacFx crée des tables et d'autres objets de base de données dans la base de données de destination pour correspondre à la base de données source. Dans les déploiements suivants, le fournisseur détermine ce qui est différent entre la source et les bases de données de destination, et il met à jour le schéma de la base de données de destination pour correspondre à la base de données source. Par défaut, le fournisseur n'apportera les modifications qui provoquent une perte de données, par exemple lorsqu'un tableau ou la colonne est supprimée.

Cette option vous permet également de spécifier vos propres scripts SQL personnalisée à exécuter dans la base de données de destination pendant le déploiement. Par exemple, vous pouvez exécuter des scripts personnalisés pour insérer des données initiales dans les tableaux après que le fournisseur crée des tableaux. Vous pouvez exécuter des scripts personnalisés pour apporter les modifications de schéma qui ne peuvent pas être effectuées automatiquement car ils provoqueraient la perte de données.

Cette méthode de déploiement de base de données requiert que le Web deploy 3,0 et le fournisseur de dbDacFx soit installé sur le serveur Web de destination. (Ils ne doivent pas être installés sur le serveur de base de données de destination.)

Le fournisseur de dbDacFx ne fonctionne pas avec les systèmes d'exploitation antérieurs que Windows Vista SP2, tel que Windows XP et Windows Server 2003. Pour le déploiement de base de données sur les systèmes d'exploitation, utilisez le Web de dbFullSql déployez le fournisseur.

Pour plus d'informations sur le déploiement d'une base de données à l'aide de le fournisseur de dbDacFx, et la configuration du déploiement Web 3,0 et le fournisseur de dbDacFx sur un serveur Web de destination, consultez Comment : déployer un projet d'application Web à l'aide de la publication en un clic dans Visual Studio.

Dd394698.collapse_all(fr-fr,VS.110).gifLe Web de dbFullSql déployez le fournisseur

Pour utiliser le Web de dbFullSql déployez le fournisseur, vous configurer des paramètres de déploiement de base de données sur l'onglet Empaquetez/publication SQL de la fenêtre de propriétés du projet. Cette méthode de déploiement de base de données disponibles depuis Visual Studio 2010 SP1. Le fournisseur de dbFullSql peut effectuer le déploiement initial du schéma de base de données, et il peut éventuellement déployer les données ainsi que le schéma. Ce fournisseur ne fait pas le déploiement incrémentiel de base de données. Si vous essayez d'utiliser ce fournisseur pour déployer des mises à jour incluses dans le schéma de base de données existante, le déploiement car les tests de fournisseur ne crée pas de tableaux qui existent déjà.

Le fournisseur de dbFullSql est une méthode de déploiement héritée de base de données tels que laquelle doit être utilisé uniquement lorsque cela est nécessaire pour des scénarios spécifiques, lorsque vous utilisez Windows XP ou le système d'exploitation Windows Server 2003. Pour plus d'informations sur la configuration du déploiement de base de données qui utilise le fournisseur de dbFullSql, consultez Onglet Package/publication SQL, Propriétés du projet et Migration vers SQL Server sur le site ASP.NET.

D'autres tâches de déploiement

Selon votre scénario ou fonctionnalités de votre application, d'autres tâches de déploiement peuvent être requises ou recommandées. Voici une liste de certaines de la plus courante :

  • Configurez les transformations du fichier Web.config.

    Le fichier Web.config de votre application peut contenir des paramètres qui doivent être différents dans l'application déployée. Par exemple, en général activer le débogage pendant le développement et la désactiver dans la production. Pour plus d'informations, consultez Transformations du fichier Web.config sur le site et Syntaxe de transformation d'un fichier Web.config pour le déploiement d'un projet d'application Web à l'aide de Visual StudioASP.NET.

  • Spécifiez les fichiers et dossiers doivent être copiés sur le serveur de destination.

    Par défaut, Visual Studio déploie uniquement les fichiers nécessaires pour exécuter l'application. Cette option fonctionne bien pour la plupart des scénarios, mais vous pouvez avoir des exigences particulières. Par exemple, vous pouvez exclure des bases de données dans le dossier App_Data si ces fichiers sont utilisés uniquement du développement de. Pour plus d'informations, consultez Configurer les propriétés du projet sur le site et Package/Publication, onglet Web des propriétés du projetASP.NET.

  • Définissez les autorisations d'accès au dossier sur le serveur de destination.

    Votre application peut avoir besoin d'autorisations en écriture à certains de vos dossiers du projet. Par exemple, si l'application permet aux utilisateurs de télécharger des fichiers, elle a besoin d'un accès en écriture au répertoire où elle enregistre les fichiers téléchargés. Vous devez explicitement configurer ces autorisations dans le cadre de le processus de déploiement ou après le déploiement de l'application. Pour plus d'informations, consultez autorisations d'accès au dossier de configuration sur le site Web ASP.NET.

  • Précompilez le projet.

    Par défaut, les pages .aspx et .ascx ne sont pas précompilées dans les projets d'application Web. À la place, elles sont compilés la première fois qu'elles sont demandées. Dans les applications très grandes, ce processus peut entraîner une légère délai qui peut être apparent la première fois une page Web est demandé après le déploiement. Pour plus d'informations sur la compilation et les options de fusion de projet d'application Web et comment les spécifier, consultez Package/Publication, onglet Web des propriétés du projet et l' Paramètres de précompilation avancés, boîte de dialogue.

  • Prenez l'application hors connexion pendant le déploiement.

    Vous pouvez souhaiter ne pas les utilisateurs puissent utiliser l'application pendant qu'elle est déployée. Cela est souvent le cas lorsque vous déployez des mises à jour de base de données, car il peut exister un risque de code d'application active qui est mal synchronisées avec la base de données. Pour plus d'informations sur la façon d'effectuer temporairement une application hors connexion, consultez Making sure an application is off-line during deployment dans Organigramme des informations relatives au déploiement Web pour Visual Studio et ASP.NET.

  • Testez le site dans un environnement similaire à la production avant de le déployer en production.

    Pour réduire le risque de rechercher les bogues uniquement après que vous avez déployé en production, vous testent généralement l'application dans un environnement qui est aussi semblable à l'environnement de production que possible. Pour ce faire, avant le déploiement sur le serveur de production, vous pouvez déployer à IIS sur votre ordinateur de développement, sur un serveur intermédiaire, ou un compte de test à votre fournisseur d'hébergement. Pour plus d'informations, consultez déployer à IIS comme environnement de test sur le site ASP.NET.

  • Configurer les paramètres de déploiement qui ne sont pas exposées dans l'interface utilisateur de Visual Studio.

    L'interface utilisateur de Visual Studio n'expose pas tous les paramètres de déploiement que vous pouvez configurer. Par exemple, vous ne pouvez pas utiliser l'interface utilisateur pour exclure un dossier individuel de déploiement. Toutefois, vous pouvez le faire en modifiant les fichiers qui stockent des paramètres de configuration. Pour chaque profil de publication il existe un fichier de .pubxml que vous pouvez modifier directement. Si vous voulez configurer les paramètres de déploiement qui s'appliquent à tous les profils de publication, vous pouvez créer un fichier de .wpp.targets. Pour plus d'informations, consultez Comment : modifier des paramètres de déploiement dans les fichiers de profil de publication (pubxml) et le fichier .wpp cible dans les projets Web Visual Studio.

  • Assurez -vous que les fichiers binaires d'ASP.NET MVC sont copiés sur le serveur.

    Si vous déployez sur un fournisseur d'hébergement qui ne prend pas en charge la version cible ASP.NET MVC ou votre de lui, assurez -vous que vous avez installé le module approprié MVC 3 ou MVC 4 de NuGet dans votre projet.

  • Assurez -vous que les fichiers binaires pour SQL Server Compact 4,0 sont copiés sur le serveur.

    Si vous déployez sur un fournisseur d'hébergement qui ne prend pas en charge SQL Server Compact 4,0, assurez -vous que vous avez SqlServerCompact installé le module de NuGet dans votre projet. Vous devez également inclure des dossiers le dossier bin \ x86 et le dossier bin \ AMD64 dans votre projet. Pour plus d'informations, consultez Bases de données SQL Server Compact de déploiement.

Sauvegarder et restaurer

Avant de déployer une mise à jour d'un site existant, créez un plan de restauration afin de pouvoir restaurer l'application à son état d'origine si un élément devient erroné. Plusieurs actions à considérer incluent sur ce qui suit :

  • Enregistrez tous code et les ressources utilisées par le site.

    Avertissement

    Ne supposez pas que le déploiement sur un serveur vous créez une sauvegarde de votre projet.Code source compilé dans des assemblys avant le déploiement n'est généralement pas copié vers le serveur.

  • Si la mise à jour inclut des modifications de base de données, créez un plan de restauration pour stocker les modifications de base de données. Vous pouvez créer des scripts de restauration à l'avance uniquement dans le cas n. Vous pouvez souhaiter également considérer que faire si les données ont été entrées dans les tables modifiées après le déploiement mais avant la restauration, ou si d'autres applications utilisent la même base de données.

  • Si les interfaces avec d'autres applications, créez un plan de restauration qui spécifie que faire sur elles si vous devez restaurer une mise à jour.

Voir aussi

Concepts

Organigramme des informations relatives au déploiement Web pour Visual Studio et ASP.NET