Eliminarea appsettings.json nedorite atunci când publicarea unui program

Pagina actualizată :
Data creării paginii :

Mediu

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

Despre appsettings.json publicate

ASP.NET programe create de Core încarcă acum setările "appsettings.json" și "appssettings.production.json" în funcție de mediu. Nu trebuie să vă faceți griji cu privire la publicarea direct pe server și nu trebuie să editați appsettings.json. De fapt, dacă te uiți la lista de fișiere publicate, veți vedea că "appsettings. Puteți vedea, de asemenea, că fișierele inutile, ar fi Development.json au fost, de asemenea, publicate.

Nu este o problemă dacă nu editați appsettings.json după ce publicați programul direct pe server, așa este descris mai sus. Dacă doriți să publicați ca fișier o dată fără a publica direct pe server sau dacă doriți să editați appsettings.json direct pe server mai târziu, Prezența mai multor appsettings.json poate declanșa o eroare de configurare etc., ceea ce este foarte periculos.

Puteți șterge manual appsettings.json nedorite de fiecare dată când publicați, dar acest lucru poate fi, de asemenea, o greșeală, deoarece trece prin mâinile oamenilor.

Această secțiune descrie să eliminați appsettings.json nedorite în momentul publicării.

Pași de configurare pentru a șterge automat appsettings.json nedorite în momentul publicării

Mai întâi, publicați o dată și creați un profil. Modificați numele profilului pentru a-l face mai ușor de înțeles. (Aici este setat cu numele de profil Release)

Când este publicat, în folderul Proprietăți se creează un fișier numit "PublishProfiles\<Profile Name>.pubxml" în folderul Properties, deci faceți dublu clic pe el pentru a-l deschide.

Deoarece conținutul sunt fișiere XML, adăugați appsettings.json pe care doriți să le excludeți la locația următoarelor comentarii. Dacă există mai multe, adăugați "Conținut" și "Fără" cât mai multe este necesar și setați "Eliminare" și "Includere" la numele fișierului țintă.

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

Încercați să publicați după ce ați salvat. Aveți posibilitatea să verificați dacă fișierul specificat nu a fost publicat.