[C#] ビルド後イベントで不要なxmlや言語フォルダを削除する

更新: 2023-04-13 (木) 投稿: 2018-05-16 (水)

拡張子やフォルダ名を指定して削除します。NuGetから取得したライブラリの不要なファイルを削除することを想定しています。

最新記事

💡 言語フォルダの削除については、以下の記事を参考にしてください。

[C#] ローカライズ用の言語フォルダを出力しないように設定する

C# のプロジェクトを自己完結型で発行した場合や、NuGet のライブラリを使用した際に、サテライトアセンブリの言語フォルダが出力されます。
必要な言語フォルダのみ出力するように設定する方法です。

C# C# MSBuild 2023-04-12 (水)

環境

  • Windows 10 Pro 64bit 1709
  • Visual Studio Community 2017 15.5.7

結果

実装

ソリューションのプロパティを開きます。
ビルドイベントビルド後イベントのコマンドラインに記述します。

WPFのPrismでjpフォルダ以外削除している例です(だと思う)。

del "$(TargetDir)*.xml"
del "$(TargetDir)*.pdb"
rd /s /q "$(TargetDir)de"
rd /s /q "$(TargetDir)en"
rd /s /q "$(TargetDir)es"
rd /s /q "$(TargetDir)fr"
rd /s /q "$(TargetDir)hu"
rd /s /q "$(TargetDir)it"
rd /s /q "$(TargetDir)ko"
rd /s /q "$(TargetDir)pt-BR"
rd /s /q "$(TargetDir)ro"
rd /s /q "$(TargetDir)ru"
rd /s /q "$(TargetDir)sv"
rd /s /q "$(TargetDir)zh-Hans"
rd /s /q "$(TargetDir)zh-Hant"
  • del:拡張子を指定してファイル削除。
  • rd:/sでサブディレクトリ含めて、/qで確認メッセージなしでファイル削除。

自身のプロジェクトのpdb出力の有無については、ビルドの詳細設定で設定できます。

感謝

更新履歴

  • 2023/04/13
    • 最新記事のリンクを追加
更新: 2023-04-13 (木) 投稿: 2018-05-16 (水)