在程序发布期间删除不需要的 appsettings.json

更新页 :
页面创建日期 :

环境

Visual Studio
  • Visual Studio 2019
ASP.NET 核心
  • 3.1

关于发布的应用程序.json

ASP.NET Core 程序现在根据环境加载"应用程序设置.json"和"应用程序.production.json"设置。 如果您不需要直接发布到服务器并编辑应用程序.json,则不必担心。 事实上,如果你看看你发布的文件列表,你会看到一个应用程序。 您可以看到,还发布了不需要的文件,如开发.json。

如果程序直接发布到服务器后,在将程序发布到服务器后未编辑 appsettings.json,则这不是问题。 如果要作为文件发布一次,而不直接发布到服务器,或者稍后在服务器上直接编辑应用.json, 如果存在多个应用程序.json,则可能导致配置错误等,这是非常危险的。

每次发布时,您都可以手动删除不需要的 appsettings.json,但您也可以通过人的手执行此操作。

本节介绍如何删除发布时不需要的应用程序设置.json。

在发布时自动删除不需要的 appsettings.json 的设置步骤

首先,发布并创建配置文件。 更改配置文件的名称,使其更容易理解。 (此处使用配置文件名称"发布"进行设置)

发布后,将在"属性"文件夹中创建一个文件,该文件名为"PublishProfiles_<配置文件名称 >.pubxml",只需双击即可打开。

由于内容是 XML 文件,因此添加要排除的 appsettings.json 到以下注释位置。 如果有多个内容,请根据需要添加任意数量的"内容"和"无",并将"删除"和"包含"设置为目标文件名。

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

保存后,请尝试发布它。 您可以验证指定的文件是否已发布。