Verwijder ongewenste appsettings.json bij het publiceren van een programma

Pagina bijgewerkt :
Aanmaakdatum van pagina :

Milieu

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

Over gepubliceerde appssettings.json

ASP.NET Core-programma's laden nu de instellingen "appssettings.json" en "appssettings.production.json" afhankelijk van de omgeving. U hoeft zich geen zorgen te maken over het publiceren rechtstreeks naar de server en het niet hoeven bewerken van appsettings.json. In feite, als je kijkt naar de lijst van gepubliceerde bestanden, ziet u dat "appssettings. U ook zien dat onnodige bestanden zoals Development.json zijn ook gepubliceerd.

Het is geen probleem als u appssettings.json niet bewerkt nadat u het programma rechtstreeks op de server hebt gepubliceerd, zoals hierboven beschreven. Als u één keer als bestand wilt publiceren zonder rechtstreeks naar de server te publiceren of als u appssettings wilt bewerken.json later rechtstreeks op de server, De aanwezigheid van meerdere appsettings.json kan leiden tot een configuratiefout, enz., wat zeer gevaarlijk is.

U de ongewenste appssettings.json handmatig verwijderen elke keer dat u publiceert, maar dit kan ook een vergissing zijn omdat het door de handen van mensen gaat.

In deze sectie wordt beschreven hoe u ongewenste appssettings.json verwijderen op het moment van publicatie.

Configuratiestappen om ongewenste appssettings.json automatisch te verwijderen op het moment van publicatie

Publiceer eerst één keer en maak een profiel aan. Wijzig de naam van het profiel om het begrijpelijker te maken. (Hier is ingesteld met de profielnaam Release)

Wanneer het wordt gepubliceerd, wordt een bestand met de naam 'Publicatieprofielen\<Profielnaam>.pubxml' gemaakt in de map Eigenschappen, dus dubbelklik erop om het te openen.

Aangezien de inhoud XML-bestanden zijn, voegt u de appsettings.json toe die u wilt uitsluiten aan de locatie van de volgende opmerkingen. Als er meer dan één is, voegt u er zoveel 'Inhoud' en 'Geen' toe als nodig is en stelt u 'Verwijderen' en 'Opnemen' in op de doelbestandsnaam.

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

Probeer te publiceren zodra je hebt opgeslagen. U controleren of het opgegeven bestand niet is gepubliceerd.