Supprimer appsettings.json indésirables lors de la publication d’un programme

Page mise à jour :
Date de création de la page :

Environnement

Visual Studio
  • Visual Studio 2019
ASP.NET Core
  • 3.1

À propos de appssettings.json publié

ASP.NET programmes créés par Core chargent désormais les paramètres « appsssettings.json » et « appssettings.production.json » en fonction de l’environnement. Vous n’avez pas à vous soucier de publier directement sur le serveur et de ne pas avoir à modifier appsettings.json. En fait, si vous regardez la liste des fichiers publiés, vous verrez que « appssettings. Vous pouvez également voir que des fichiers inutiles tels que « Development.json » ont également été publiés.

Ce n’est pas un problème si vous ne modifiez pas appsssettings.json après avoir publié le programme directement sur le serveur tel que décrit ci-dessus. Si vous souhaitez publier un fichier une fois sans publier directement sur le serveur, ou si vous souhaitez modifier appssettings.json directement sur le serveur plus tard, La présence de plusieurs appsettings.json peut déclencher une erreur de configuration, etc., ce qui est très dangereux.

Vous pouvez supprimer manuellement les applicationssettings.json indésirables chaque fois que vous publiez, mais cela peut également être une erreur car il passe entre les mains des gens.

Cette section décrit comment supprimer appssettings.json indésirables au moment de la publication.

Étapes de configuration pour supprimer automatiquement appssettings.json indésirables au moment de la publication

Tout d’abord, publiez une fois et créez un profil. Modifiez le nom du profil pour le rendre plus facile à comprendre. (Ici, il est défini avec le nom de profil Release)

Une fois publié, un fichier appelé « PublishProfiles\<Profile Name>.pubxml » est créé dans le dossier Propriétés, alors double-cliquez dessus pour l’ouvrir.

Étant donné que le contenu est des fichiers XML, ajoutez les appsettings.json que vous souhaitez exclure à l’emplacement des commentaires suivants. S’il y en a plus d’un, ajoutez « Contenu » et « Aucun » autant que nécessaire et définissez « Supprimer » et « Inclure » au nom de fichier cible.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <ProjectGuid>d988b0db-dad2-4308-baa1-6d1c89a074db</ProjectGuid>
    <SelfContained>false</SelfContained>
    <publishUrl>bin\Release\netcoreapp3.1\publish\</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
  <!-- ここから追加 -->
  <ItemGroup>
    <Content Remove="appsettings.Development.json" />
    <None Include="appsettings.Development.json" />
  </ItemGroup>
  <!-- ここまで追加 -->
</Project>

S’il vous plaît essayer de publier une fois que vous avez enregistré. Vous pouvez vérifier que le fichier spécifié n’a pas été publié.