bin ディレクトリにコピーされた不要なカルチャ固有の dll

私の解決策は、このターゲットを .csproj の最後に追加することでした プロジェクトを閉じる前のファイル タグ。

<Target Name="AfterPackage" AfterTargets="CopyAllFilesToSingleFolderForPackage" />

<ItemGroup>
    <FluentValidationExcludedCultures Include="cs;da;de;es;fa;fi;fr;it;ko;mk;nl;pl;pt;ru;sv;tr;zh-CN">
        <InProject>false</InProject>
    </FluentValidationExcludedCultures>
</ItemGroup>

<Target Name="RemoveTranslationsAfterBuild" AfterTargets="AfterBuild">
    <RemoveDir Directories="@(FluentValidationExcludedCultures->'$(OutputPath)%(Filename)')" />
</Target>

<Target Name="RemoveTranslationsAfterPackage" AfterTargets="AfterPackage">
    <RemoveDir Directories="@(FluentValidationExcludedCultures->'$(_PackageTempDir)\$(OutputPath)%(Filename)')" />
</Target>

それはきれいではありませんが、仕事を成し遂げます。文化固有のリソースが必要な場合は、対応する行をリストから削除してください。将来の更新で不要な新しい文化が追加された場合は、それをリストに追加してください。

最良のオプションは、開発者にリソースを複数のナゲットに分けるよう依頼することです。この方法では、必要なものだけを追加できます。誰かがより良い解決策を思いつくまで、私は今のところこの解決策を使い続けます.

これで、公式プロジェクト wiki で私のソリューションを見つけることができます:https://github.com/JeremySkinner/FluentValidation/wiki/f.-Localization (ページの下部)