Odebrání nežádoucích appsettings.json při publikování programu

Stránky aktualizovány :
Datum vytvoření stránky :

Prostředí

Vizuální studio
  • Visual Studio 2019
ASP.NET jádro
  • 3.1

O publikované appssettings.json

ASP.NET Programy vytvořené jádrem nyní načítají nastavení "appssettings.json" a "appssettings.production.json" v závislosti na prostředí. Nemusíte se starat o publikování přímo na server a nemusíte upravovat appsettings.json. Ve skutečnosti, pokud se podíváte na seznam publikovaných souborů, uvidíte, že "appssettings. Můžete také vidět, že nepotřebné soubory, jako je například "Development.json" byly také publikovány.

Není to problém, pokud nechcete upravovat appssettings.json po publikování programu přímo na server, jak je popsáno výše. Pokud chcete publikovat jako soubor jednou bez publikování přímo na server, nebo pokud chcete upravit appssettings.json přímo na serveru později, Přítomnost více appsettings.json může vyvolat chybu konfigurace, atd., což je velmi nebezpečné.

Můžete ručně odstranit nežádoucí appssettings.json pokaždé, když publikujete, ale to může být také chyba, protože to jde přes ruce lidí.

Tato část popisuje, jak odstranit nežádoucí appssettings.json v době zveřejnění.

Kroky konfigurace pro automatické odstranění nežádoucích nastavení aplikací.json v době publikování

Nejprve publikujte jednou a vytvořte profil. Změňte název profilu, aby byl srozumitelnější. (Zde je nastavena s názvem profilu Release)

Při publikování je soubor s názvem PublishProfiles\<Název profilu>.pubxml vytvořen ve složce Vlastnosti, takže poklepáním jej otevřete.

Vzhledem k tomu, že obsah jsou soubory XML, přidejte appsettings.json, který chcete vyloučit do umístění následujících komentářů. Pokud existuje více než jeden, přidejte "Obsah" a "Žádný" tolik, kolik je potřeba a nastavte "Odebrat" a "Zahrnout" na název cílového souboru.

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

Po uložení se pokuste publikovat. Můžete ověřit, zda zadaný soubor nebyl publikován.