

1 min read
中文 移除 WinUI3 專案建置後資料夾中的語系資料夾
在 WinUI3 專案建置後,relase 的資料夾會有一堆語系資料夾,但實際上都不會用到,最後才發現可以在 .csproj 檔案中新增一個 MSBuild 的 Target,在每次建置後自動移除不必要的語系資料夾。
views
| comments
問題#
近期有使用 WinUI3 的專案來建置公司的桌面程式,發現每次建置後都會在 bin\Release\net8.0-windows10.0.26100.0\win10-x64
目錄下產生一堆語系資料夾
也因為程式最後沒有再封裝成安裝檔,而是整包給其他人使用,所以打開資料夾就看到一堆語系資料夾,實在是有點煩。
為了解決這個問題,上網找了許久終於找到解決方法。可以在專案的 .csproj
檔案中新增一個 MSBuild 的 Target,來在每次建置後自動移除不必要的語系資料夾。
解決方法#
在專案的 .csproj
檔案中新增以下的 Target:
<Target Name="RemoveUnwantedCultures" AfterTargets="Build">
<ItemGroup>
<RemovingFiles Include="$(OutDir)*\*.mui" Exclude="$(OutDir)zh-TW\*.mui" />
<RemovingFolders Include="@(RemovingFiles->'%(RootDir)%(Directory)')" />
</ItemGroup>
<RemoveDir Directories="@(RemovingFolders)" />
</Target>
xml- 該 Target 會在每次建置後執行,並移除所有語系資料夾中不必要的
.mui
檔案,除了zh-TW
語系的檔案。 RemovingFiles
會包含所有的.mui
檔案,除了zh-TW
語系的檔案。RemovingFolders
會包含所有的資料夾路徑。- 最後使用
RemoveDir
刪除這些資料夾。
這樣就可以在每次建置後自動清理不必要的語系資料夾了。