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

Cette rubrique explique comment configurer des paramètres de déploiement en modifiant les fichiers du profil de publication (.pubxml) ou en créant un fichier de .wpp.targets pour les projets Web Visual Studio. La rubrique s'applique aux produits suivants :

Modifier un fichier de profil de publication ou créer un fichier de .wpp.targets peut être nécessaire car certaines tâches de configuration de déploiement ne peuvent pas être effectuées dans l'interface utilisateur de Visual Studio. Certaines options de déploiement peuvent être spécifiées en modifiant un des fichiers XML qui contrôlent le pipeline (WPP) de publication Web.

Cette rubrique inclut les sections suivantes :

  • Fichiers de profil de publication de modification (.pubxml)

    Lorsque vous souhaitez configurer des paramètres spécifiques à un profil de publication particulier, vous modifiez le fichier de profil de publication. Les fichiers de profil de publication sont nommés <profilename>.pubxml et se trouvent dans le dossier Properties\PublishProfiles sous le dossier du projet. Chaque fichier contient des paramètres qui s'appliquent à un profil de publication. Les valeurs que vous entrez dans l'assistant publiez le Web sont stockées dans ces fichiers.

  • Créer un fichier de .wpp.targets

    Lorsque vous souhaitez configurer les paramètres qui vous appliquent à tous les profils utilisez dans un projet, vous créez un fichier de .wpp.targets. Le fichier de .wpp.targets doit se trouver dans le dossier du projet et doit être nommé <projectname>.wpp.targets.

Notes

Si vous utilisez l'onglet Empaquetez/publication SQL pour configurer le déploiement de base de données, vous devrez peut-être modifier les paramètres de déploiement de base de données dans le fichier projet.Pour plus d'informations sur la modification des paramètres qui sont liées à l'onglet Empaquetez/publication SQL , consultez la version de .NET Framework 4 de cette rubrique.

Fichiers de profil de publication de modification (.pubxml)

Lorsque vous créez un profil de publication, deux fichiers sont créés dans le répertoire de PublishProfiles : <profilename>.pubxml et <profilename>.pubxml.user. Le fichier de .pubxml.user contient uniquement des paramètres qui s'appliquent à un utilisateur spécifique, tel qu'un mot de passe chiffré. Par défaut il n'est pas inclus dans le contrôle de code source. En général lorsque vous modifiez les paramètres liés à un profil vous modifiez le fichier de .pubxml plutôt que le fichier de .pubxml.user.

Pour modifier un fichier de profil de publication (.pubxml)

  1. Dans Explorateur de solutions, double-cliquez sur le fichier pour l'ouvrir.

  2. Si l'élément que vous souhaitez modifier est déjà dans l'élément d' PropertyGroup , remplacez sa valeur ; sinon ajoutez l'élément à l'élément d' PropertyGroup .

    Par exemple, supposons que vous souhaitiez désactiver le comportement par défaut de setACL de déploiement de Visual Studio. Par défaut, Visual Studio définit le répertoire d'autorisations de lecture à la racine du site et des autorisations d'écriture de destination sur le dossier App_Data. Si vous savez que les autorisations par défaut sur les dossiers sont correctes et n'ont pas besoin d'être définies, vous pouvez désactiver ce comportement pour un profil de publication spécifique en ajoutant le code XML suivant au fichier de profil de publication :

    <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
    

    Lorsque vous ouvrez le fichier de profil de publication, il ressemble à l'exemple suivant :

    <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>Package</WebPublishMethod>
        <LaunchASiteUrlAfterPublish>False</LaunchASiteUrlAfterPublish>
        <SiteUrlToLaunchAfterPublish />
        <MSDeployServiceURL />
        <DeployIisAppPath />
        <RemoteSitePhysicalPath />
        <AllowUntrustedCertificate>False</AllowUntrustedCertificate>
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <DeployAsIisApp>True</DeployAsIisApp>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName />
        <SavePWD>True</SavePWD>
        <PublishDatabaseSettings>
          <!— this section omitted to keep the example short -->
        </PublishDatabaseSettings>
      </PropertyGroup>
    </Project>
    

    Pour désactiver le comportement par défaut de setACL, ajoutez l'élément d' IncludeSetACLProviderOnDestination , comme illustré dans cet exemple, où il apparaît immédiatement après la balise d' PropertyGroup d'ouverture :

    <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
        <WebPublishMethod>Package</WebPublishMethod>
        <LaunchASiteUrlAfterPublish>False</LaunchASiteUrlAfterPublish>
        <SiteUrlToLaunchAfterPublish />
        <MSDeployServiceURL />
        <DeployIisAppPath />
        <RemoteSitePhysicalPath />
        <AllowUntrustedCertificate>False</AllowUntrustedCertificate>
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <DeployAsIisApp>True</DeployAsIisApp>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName />
        <SavePWD>True</SavePWD>
        <PublishDatabaseSettings>
          <!— this section omitted to keep the example short -->
        </PublishDatabaseSettings>
      </PropertyGroup>
    </Project>
    
  3. Enregistrez le fichier.

Évitez de modifier les paramètres base de données base de données dans le fichier de .pubxml, car Visual Studio modifie ces derniers automatiquement lorsqu'il recherche les modifications apportées au projet. Les paramètres base de données Base de données sont les suivants :

  • Élément PublishDatabaseSettings. (Cet élément peut apparaître dans l'élément d' PropertyGroup .)

  • Tous les éléments d' ItemGroup qui apparaissent après l'élément d' PropertyGroup .

Créer un fichier de .wpp.targets

Les paramètres que vous configurez dans le fichier de .wpp.targets s'appliquent à tous les profils de publication. La procédure suivante explique comment créer un fichier de .wpp.targets.

Pour créer un fichier de .wpp.targets

  1. Créez un fichier XML dans le dossier du projet (le dossier qui contient le fichier .csproj ou .vbproj) et nommez -le <projectname>.wpp.targets.

  2. Créez un élément d' Project comme élément de niveau supérieur, et dans celui-ci créez un élément d' PropertyGroup .

  3. Ajoutez les paramètres que vous souhaitez spécifier pour tous les profils de publication. Par exemple, si vous souhaitez désactiver le comportement par défaut de setACL, ajoutez l'élément d' IncludeSetACLProviderOnDestination , comme illustré dans cet exemple :

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
      </PropertyGroup>
    </Project>
    
  4. Enregistrez et fermez le fichier.

  5. Fermez Visual Studio et rouvrez -le.

    Étant donné que Visual Studio met en cache des fichiers .targets, les modifications apportées à l'un d'eux peut ne pas être efficace jusqu'à ce que la prochaine fois que Visual Studio est ouvert.

Vous pouvez également utiliser le fichier de .wpp.targets pour étendre le pipeline de publication web de manière plus complexes. Par exemple, vous pouvez souhaiter conserver le comportement par défaut de setACL mais automatiser la configuration des autorisations en écriture sur un autre dossier en plus App_Data. Pour obtenir une explication de la procédure à cela, consultez Les autorisations d'accès au dossier de configuration sur le Web de publication sur le blog de Sayed Hashimi.

Voir aussi

Concepts

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