Skip to content

[release/v7.6.6] Update the manifest resource names for the localized resources embedded in satellite assemblies - #27921

Merged
Dongbo Wang (daxian-dbw) merged 5 commits into
PowerShell:release/v7.6.6from
SeeminglyScience:backport/release/v7.6.6/27756-cb7567431
Sep 1, 2026
Merged

[release/v7.6.6] Update the manifest resource names for the localized resources embedded in satellite assemblies#27921
Dongbo Wang (daxian-dbw) merged 5 commits into
PowerShell:release/v7.6.6from
SeeminglyScience:backport/release/v7.6.6/27756-cb7567431

Conversation

@SeeminglyScience

Copy link
Copy Markdown
Contributor

Backport of #27756 to release/v7.6.6

Triggered by Patrick Meinecke (@SeeminglyScience) on behalf of Dongbo Wang (@daxian-dbw)

Original CL Label: CL-BuildPackaging

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

Explicitly defines manifest resource names for localized .resx files embedded in satellite assemblies so the existing C# ResGen-generated binding types can locate them correctly, required for the Native2Native localization pipeline.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Cherry-picked cleanly after #27916 merged (no conflicts). Verified manifest resource name explicit definitions apply to the affected csproj files.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Only affects build-time manifest resource naming for satellite assemblies via explicit csproj configuration; no runtime behavior change to shipped code.

Copilot AI lite review requested due to automatic review settings September 1, 2026 01:18
@SeeminglyScience Patrick Meinecke (SeeminglyScience) added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Sep 1, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Backport to release/v7.6.6 that explicitly sets manifest resource names for localized .resx files so the existing ResGen-generated binding types can resolve resources correctly from satellite assemblies (supporting the Native2Native localization pipeline).

Changes:

  • Add MSBuild EmbeddedResource metadata updates across affected projects to force consistent localized manifest resource naming.
  • Add a new Pester validation test for localized resource folder/layout expectations and presence of satellite assemblies.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/powershell/engine/ResourceValidation/LocalizedResource.Tests.ps1 Adds validations for localized resource folder structure and satellite assembly presence.
src/System.Management.Automation/System.Management.Automation.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.WSMan.Management/Microsoft.WSMan.Management.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.PowerShell.CoreCLR.Eventing/Microsoft.PowerShell.CoreCLR.Eventing.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.PowerShell.ConsoleHost/Microsoft.PowerShell.ConsoleHost.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.PowerShell.Commands.Utility/Microsoft.PowerShell.Commands.Utility.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.PowerShell.Commands.Management/Microsoft.PowerShell.Commands.Management.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.PowerShell.Commands.Diagnostics/Microsoft.PowerShell.Commands.Diagnostics.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.Management.UI.Internal/Microsoft.PowerShell.GraphicalHost.csproj Forces manifest resource names for localized .resx resources.
src/Microsoft.Management.Infrastructure.CimCmdlets/Microsoft.Management.Infrastructure.CimCmdlets.csproj Forces manifest resource names for localized .resx resources.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants