Repository navigation
[msbuild] Inline MSBuild localization resources in the task assembly - #26698
Conversation
Generate MSBStrings alongside Errors in Xamarin.MacDev.Tasks and ship their translations in the same satellite assemblies. Remove the standalone localization project and update the solution, test references, packaging rules, and localization documentation accordingly. Keep the shared generated version constants internal to each assembly so the task assembly does not introduce duplicate public types into Messaging and other consumers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
π‘ Changes recommended
Add packaging and satellite-resource regression tests to cover the new assembly layout.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
What changed in this PR
Consolidates MSBuild localization resources into Xamarin.MacDev.Tasks, removing the standalone localization assembly.
Changes:
- Embeds
MSBStringsand translations in the task assembly. - Updates solution, tests, packaging, documentation, and version metadata.
- Removes the standalone localization project and assembly metadata.
| File | Summary |
|---|---|
tools/βautoformat.sh |
Removes obsolete formatting target. |
tests/βmsbuild/βXamarin.MacDev.Tasks.Tests/βXamarin.MacDev.Tasks.Tests.csproj |
Removes the standalone assembly reference. |
msbuild/βXamarin.MacDev.Tasks/βXamarin.MacDev.Tasks.csproj |
Embeds localization resources and version constants. |
msbuild/βXamarin.MacDev.Tasks.slnx |
Removes the standalone project. |
msbuild/βXamarin.Localization.MSBuild/βXamarin.Localization.MSBuild.csproj |
Deletes the standalone project. |
msbuild/βXamarin.Localization.MSBuild/βREADME.md |
Updates localization build instructions. |
msbuild/βXamarin.Localization.MSBuild/βProperties/βAssemblyInfo.cs |
Deletes obsolete assembly metadata. |
msbuild/βMakefile |
Updates packaging for task-assembly satellite resources. |
β API diff for current PR / commitNET (empty diffs)β API diff vs stableNET (empty diffs)βΉοΈ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
π [CI Build #cac222e] Test results πTest resultsβ All tests passed on VSTS: test results. π All 269 tests passed π Tests countsβ
assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS testsβ
Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |

The standalone Xamarin.Localization.MSBuild project exists only to provide resources consumed by Xamarin.MacDev.Tasks. Folding those resources into the task assembly removes a project and a separately shipped DLL without changing how tasks access their localized messages.
Generate MSBStrings alongside Errors in Xamarin.MacDev.Tasks, keeping the existing resource names and including both sets of translations in the task assembly's satellite assemblies. Remove the standalone project and update the solution, test references, packaging rules, and localization documentation. Keep the shared generated VersionConstants type internal to each assembly so its inclusion in the task assembly does not conflict with Messaging's copy.
The full MSBuild solution builds without warnings or errors, and all 30 localization tests pass.
π€ Pull request created by Copilot