Suprimeix appsettings.json no desitjat en publicar un programa

Pàgina actualitzada :
Data de creació de la pàgina :

Medi ambient

Visual Studio
  • Visual Studio 2019
ASP.NET Core
  • 3,1

Sobre els appssettings. JSON publicats

Els programes creats pel Core de ASP.NET ara carreguen la configuració "appssettings. json" i "appssettings. Production. json" depenent de l'entorn. No us heu de preocupar de publicar directament al servidor i no haver d'editar appsettings. JSON. De fet, si mireu la llista de fitxers publicats, veureu que "appssettings. També podeu veure que els fitxers innecessaris, com ara "Development. json", també s'han publicat.

No és un problema si no editeu appssettings. JSON després de publicar el programa directament al servidor com es descriu anteriorment. Si voleu publicar com un fitxer una vegada sense publicar directament al servidor, o si voleu editar appssettings. JSON directament al servidor més tard, La presència de múltiples appsettings. JSON pot desencadenar un error de configuració, etc., que és molt perillós.

Podeu suprimir manualment els appssettings. JSON no desitjats cada vegada que publiqueu, però això també pot ser un error perquè passa per les mans de la gent.

Aquesta secció descriu com eliminar appssettings. JSON no desitjats en el moment de la publicació.

Passos de configuració per suprimir automàticament les aplicacions de configuració no desitjades. JSON en el moment de la publicació

En primer lloc, publiqueu una vegada i creeu un perfil. Canvieu el nom del perfil perquè sigui més fàcil d'entendre. (Aquí està configurat amb el nom de perfil Release)

Quan es publica, un fitxer anomenat "PublishProfiles \≪ nom de perfil >. pubxml" és creat a la carpeta de propietats, de manera que feu-hi doble clic per obrir-lo.

Atès que els continguts són fitxers XML, afegiu l'appsettings. JSON que voleu excloure a la ubicació dels comentaris següents. Si hi ha més d'un, afegiu "contingut" i "cap" tantes com calgui i establiu "treu" i "incloeu" al nom del fitxer de destinació.

<?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>

Proveu de publicar-lo un cop hagueu desat. Podeu verificar que el fitxer especificat no s'hagi publicat.