프로그램을 게시할 때 원치 않는 appsettings.json 제거

페이지 업데이트 :
페이지 생성 날짜 :

환경

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

발급 되는 appsettings.json에 관하여

ASP.NET Core에서 만든 프로그램은 환경에 따라 「 appsettings.json 」와 「 appsettings.production.json 」의 설정을 읽을 수 있도록 되어 있으며 서버에 직접 게시 한 다음 appsettings.json을 편집할 필요가 없는 경우에는 특별히 걱정할 필요는 없지만, 사실 게시 된 파일의 목록을 보면, 「 appsettings. Development.json 」 등의 불필요 한 파일이 게시 된 것을 알 수 있습니다.

앞에서 설명한 것 처럼 서버에 직접 프로그램을 게시 한 후에 appsettings.json을 편집할 수 없는 경우에는 특별히 문제가 없지만 서버에 직접 게시 하지 않고 일단 파일로 게시 하거나 나중에 서버에서 직접 appsettings.json를 편집 하려면 몇몇 appsettings.json가 존재 하 고 구성 오류를 도발할 가능성이 매우 위험 합니다.

게시할 때마다 불필요 한 appsettings.json를 삭제 해도 상관 없지만 사람의 손을 통해 때문에 역시 이것도 실수를 해 버릴 수 있습니다.

여기에는 불필요 한 appsettings.json를 제거 하는 방법에 대해 설명 합니다.

불필요 한 appsettings.json를 발행할 때 자동으로 제거 하는 단계

먼저 게시를 수행 하 여 프로필을 작성 합니다. 프로필 이름은 알기 쉽도록 합니다. (여기서는 Release 라는 프로필 이름 설정)

게시할 때 「 Properties 」에 「 PublishProfiles\<プロファイル名>.pubxml 」 라는 파일이 생성 되기 때문에, 두 번 클릭 하 여 엽니다.

내용물은 XML 파일 이므로 아래 주석 위치에 제외할 appsettings.json를 추가 합니다. 이상인 경우에는 「 Content "와" None 」를 필요한 만큼 추가 하 여 「 Remove "Include 」를 대상 파일 이름으로 설정 합니다.

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

저장 한 후 실행 하 여 보시기 바랍니다. 지정 된 파일이 게시 되지 않았는지 확인할 수 있습니다.