パブリッシュ時に多言語フォルダが生成されないようにしたい

オルダー
質問: 言語名のフォルダが作られる
ASP.NET Coreアプリケーションを開発しています。アプリケーションを発行すると言語名のフォルダがたくさん追加されてしまいます。 フォルダ生成されないようにしたいのですが、何か方法はありますか?
パブリッシュ時に多言語フォルダが生成されないようにしたい:画像1

言語名のフォルダが生成されるケース

参照しているライブラリにローカライズ用のサテライトアセンブリが含まれている場合、 アプリケーションを発行すると発行先のディレクトリに言語名のディレクトリが作成され、 ディレクトリ内にローカライズ用のアセンブリが配置されます。

一例として、Microsoft.Data.SqlClient を利用しているとこの現象が発生します。

対処法

プロジェクトファイルの PropertyGroupタグ に SatelliteResourceLanguages を追加して 発行したい言語のみを指定すると、指定した言語のフォルダのみが作成されます。

多言語のフォルダを作成しない場合は以下の設定にします。

英語サテライトアセンブリのみを発行する場合
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>

jaフォルダのみを作成したい場合は以下にします。

日本語サテライトアセンブリのみを発行する場合
<SatelliteResourceLanguages>ja</SatelliteResourceLanguages>

日本語と英語のサテライトアセンブリを発行する場合
<SatelliteResourceLanguages>en;ja</SatelliteResourceLanguages>

プロジェクトファイル例

プロジェクトファイルのXML例です。

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
    <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
  </PropertyGroup>

  <ItemGroup>
    <!-- 中略 -->
  </ItemGroup>

</Project>
AuthorPortraitAlt
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
作成日: 2026-03-12