Skip to content

Conversation

@maraf
Copy link
Member

@maraf maraf commented Jan 19, 2026

Change unique name check in ComputeWasmBuildAssets from file name to computed relative path in wwwroot. Satellite assemblies go each to a sub folder based on culture.

Extend tests to verify behavior for referenced project and PackageReference with multiple satellite assemblies.

Fixes #123305

Removed duplicate file name check for asset candidates.
@maraf maraf marked this pull request as ready for review January 21, 2026 10:35
@maraf maraf requested a review from ilonatommy as a code owner January 21, 2026 10:35
@maraf maraf requested review from a team and Copilot January 21, 2026 10:35
@maraf maraf changed the title [browser] Duplicate satellite assembly check [browser] Skip unique file name check for satellite assemblies Jan 21, 2026
@maraf maraf enabled auto-merge (squash) January 21, 2026 10:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes a regression in the WebAssembly build process where satellite assemblies from NuGet packages containing multiple cultures were incorrectly flagged as duplicate files. The fix ensures that satellite assemblies, which are deployed to culture-specific subdirectories, bypass the unique filename check that only applies to assemblies in the main framework folder.

Changes:

  • Modified ComputeWasmBuildAssets.cs to skip the unique filename check for satellite assemblies with culture metadata
  • Added comprehensive test coverage including a new French localization and a test specifically for package-sourced satellite assemblies

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/ComputeWasmBuildAssets.cs Adds early return for satellite assemblies to bypass unique filename validation
src/mono/wasm/testassets/WasmBasicTestApp/ResourceLibrary/words.fr-FR.resx Adds French localization resource file for testing multiple satellite assemblies
src/mono/wasm/testassets/WasmBasicTestApp/ResourceLibrary/ResourceLibrary.csproj Conditionally references Microsoft.CodeAnalysis.CSharp package to test satellite assemblies from packages
src/mono/wasm/testassets/WasmBasicTestApp/ResourceLibrary/ResourceAccessor.cs Adds French culture test output
src/mono/wasm/testassets/WasmBasicTestApp/App/SatelliteAssembliesTest.cs Updates test to load fr-FR satellite assembly
src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs Updates existing tests for French locale and adds new test for package-sourced satellite assemblies

@maraf maraf marked this pull request as draft January 21, 2026 13:23
auto-merge was automatically disabled January 21, 2026 13:23

Pull request was converted to draft

@maraf
Copy link
Member Author

maraf commented Jan 21, 2026

image image image

The System.Runtime.Loader.Tests has satellites comming both from Candidates and ProjectSatelliteAssemblies. It's because WasmAssembliesFinal contains both assemblies and satellite assemblies

@maraf maraf marked this pull request as ready for review January 23, 2026 06:37
@maraf maraf changed the title [browser] Skip unique file name check for satellite assemblies [browser] Check unique relative path for assemblies Jan 23, 2026
@maraf maraf enabled auto-merge (squash) January 23, 2026 08:53
@maraf maraf disabled auto-merge January 23, 2026 08:53
@maraf maraf enabled auto-merge (squash) January 23, 2026 08:54
@maraf maraf merged commit 1f65863 into main Jan 23, 2026
39 checks passed
@jkotas jkotas deleted the maraf/BrowserSatelliteAssemblyDuplicities branch January 24, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arch-wasm WebAssembly architecture area-Build-mono os-browser Browser variant of arch-wasm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[browser] Fix building with satellite assemblies coming from nuget package containing multiple cultures

4 participants