Rimuovere appsettings.json indesiderato durante la pubblicazione di un programma

Pagina aggiornata :
Data di creazione della pagina :

Ambiente

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

Informazioni su appssettings.json pubblicate

ASP.NET programmi creati da Core ora caricano le impostazioni "appssettings.json" e "appssettings.production.json" a seconda dell'ambiente. Non devi preoccuparti di pubblicare direttamente sul server e di non dover modificare appsettings.json. Infatti, se si guarda l'elenco dei file pubblicati, si vedrà che "appssettings. Si può anche vedere che sono stati pubblicati anche i file non necessari come "Development.json".

Non è un problema se non si modifica appssettings.json dopo aver pubblicato il programma direttamente sul server come descritto in precedenza. Se si desidera pubblicare come file una sola volta senza pubblicare direttamente sul server o se si desidera modificare appssettings.json direttamente sul server in un secondo momento, La presenza di più appsettings.json può generare un errore di configurazione e così via, che è molto pericoloso.

È possibile eliminare manualmente le appsettings.json indesiderate ogni volta che si pubblica, ma questo può anche essere un errore perché passa attraverso le mani delle persone.

In questa sezione viene descritto come rimuovere appssettings.json indesiderato al momento della pubblicazione.

Passaggi di configurazione per eliminare automaticamente appssettings.json indesiderati al momento della pubblicazione

In primo luogo, pubblicare una volta e creare un profilo. Modificare il nome del profilo per semplificarne la comprensione. (Qui è impostato con il nome del profilo Release)

Una volta pubblicato, nella cartella Proprietà viene creato un file denominato"PublishProfiles" <Nome profilo>.pubxml, quindi fare doppio clic su di esso per aprirlo.

Poiché il contenuto è costituito da file XML, aggiungere il file appsettings.json che si desidera escludere nel percorso dei commenti seguenti. Se è presente più di uno, aggiungere "Contenuto" e "Nessuno" quanti sono necessari e impostare "Rimuovi" e "Includi" sul nome del file di destinazione.

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

Si prega di provare a pubblicare una volta che hai salvato. È possibile verificare che il file specificato non sia stato pubblicato.