在程式發佈期間刪除不需要的 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>

保存後,請嘗試發佈它。 您可以驗證指定的檔是否已發布。