Ta bort oönskade appsettings.json när du publicerar ett program

Sidan uppdaterad :
Datum för skapande av sida :

Miljö

Visuell studio
  • Visual Studio 2019
ASP.NET kärna
  • 3.1

Om publicerade appssettings.json

ASP.NET Core-skapade program läser nu in inställningarna "appssettings.json" och "appssettings.production.json" beroende på miljö. Du behöver inte oroa dig för att publicera direkt till servern och inte behöva redigera appsettings.json. Faktum är att om du tittar på listan över publicerade filer, kommer du att se att "appssettings. Du kan också se att onödiga filer som "Development.json" också har publicerats.

Det är inte ett problem om du inte redigerar appssettings.json när du publicerar programmet direkt på servern enligt beskrivningen ovan. Om du vill publicera som en fil en gång utan att publicera direkt på servern, eller om du vill redigera appssettings.json direkt på servern senare, Förekomsten av flera appsettings.json kan utlösa ett konfigurationsfel, etc., vilket är mycket farligt.

Du kan manuellt ta bort oönskade appssettings.json varje gång du publicerar, men det kan också vara ett misstag eftersom det går genom människors händer.

I det här avsnittet beskrivs hur du tar bort oönskade appssettings.json vid publiceringstillfället.

Konfigurationssteg för att automatiskt ta bort oönskade appssettings.json vid tidpunkten för publiceringen

Publicera först en gång och skapa en profil. Ändra namnet på profilen så att den blir lättare att förstå. (Här är det inställt med profilnamnet Release)

När en fil med namnet "PublishProfiles\<Profile Name>.pubxml" publiceras skapas den i mappen Egenskaper, så dubbelklicka på den för att öppna den.

Eftersom innehållet är XML-filer lägger du till den appsettings.json som du vill utesluta till platsen för följande kommentarer. Om det finns mer än ett, lägg till "Innehåll" och "Ingen" så många som behövs och ange "Ta bort" och "Inkludera" till målfilnamnet.

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

Försök att publicera när du har sparat. Du kan kontrollera att den angivna filen inte har publicerats.