-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[wasm] Always update SDK pack version from workload to current for down level TFM #51269
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 updates the workload manifest configuration to ensure WebAssembly SDK pack versions always use the current .NET 10 version instead of being conditionally set based on target framework. This change aligns the .NET 9 workload manifest behavior with the .NET 10 manifest, ensuring consistent SDK pack versioning across servicing releases.
Key Changes:
- Removed conditional WebAssembly SDK pack version override for .NET 9.0 target framework from the net9 workload manifest
- Updated Current manifest to unconditionally set WebAssembly SDK pack version to current runtime pack version for all target frameworks
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Microsoft.NET.Workload.Mono.Toolchain.net9.Manifest/WorkloadManifest.targets.in | Removes the .NET 9.0-specific SDK pack version override to prevent downlevel SDK versions |
| Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in | Updates SDK pack version assignment to unconditionally use current runtime version for all frameworks |
...Manifests/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in
Outdated
Show resolved
Hide resolved
...Manifests/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in
Show resolved
Hide resolved
|
/backport to release/10.0.1xx |
|
Started backporting to release/10.0.1xx: https://github.com/dotnet/sdk/actions/runs/18535152990 |
Context: dotnet/aspnetcore#63970 Context: dotnet/aspnetcore#64041 Context: dotnet/runtime#120790 Context: dotnet/sdk#51269 Context: dotnet/aspnetcore#64041 (comment) .NET 10 RC2 broke WebAssembly, causing apps to crash: [MONO] * Assertion at /__w/1/s/src/runtime/src/mono/mono/metadata/assembly.c:2718, condition `<disabled>' not met Error at Mc (dotnet.runtime.fn94ls2wwa.js:3:172298) at dotnet.native.ggch313emy.wasm:0xac62 at dotnet.native.ggch313emy.wasm:0x43c51 at dotnet.native.ggch313emy.wasm:0x42301 at dotnet.native.ggch313emy.wasm:0x42422 at dotnet.native.ggch313emy.wasm:0x42465 at dotnet.native.ggch313emy.wasm:0x42438 at dotnet.native.ggch313emy.wasm:0x8cd9 at Module._mono_wasm_load_runtime [as mono_wasm_load_runtime] (dotnet.native.98v1chuo8c.js:8:113231) at dotnet.runtime.fn94ls2wwa.js:3:188734 dotnet.runtime.fn94ls2wwa.js:3 MONO_WASM: mono_wasm_load_runtime () failed [object Object] The fix in dotnet/sdk#51269 is to update `%(KnownWebAssemblySdkPack.WebAssemblySdkPackVersion)`. The question is "update *to what*?" As the files are from the [Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest-10.0.100-rc.2][0] NuGet package, and there are only two available versions, and the *current* `%(KnownWebAssemblySdkPack.WebAssemblySdkPackVersion)` value is `10.0.0-rc.2.25502.107`, let's try using `10.0.100-rc.2.25502.107`! Will it work? 🤷♂️ [0]: https://www.nuget.org/packages/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest-10.0.100-rc.2/10.0.100-rc.2.25502.107
Context: dotnet/aspnetcore#63970 Context: dotnet/aspnetcore#64041 Context: dotnet/runtime#120790 Context: dotnet/sdk#51269 Context: dotnet/aspnetcore#64041 (comment) .NET 10 RC2 broke WebAssembly, causing apps to crash: [MONO] * Assertion at /__w/1/s/src/runtime/src/mono/mono/metadata/assembly.c:2718, condition `<disabled>' not met Error at Mc (dotnet.runtime.fn94ls2wwa.js:3:172298) at dotnet.native.ggch313emy.wasm:0xac62 at dotnet.native.ggch313emy.wasm:0x43c51 at dotnet.native.ggch313emy.wasm:0x42301 at dotnet.native.ggch313emy.wasm:0x42422 at dotnet.native.ggch313emy.wasm:0x42465 at dotnet.native.ggch313emy.wasm:0x42438 at dotnet.native.ggch313emy.wasm:0x8cd9 at Module._mono_wasm_load_runtime [as mono_wasm_load_runtime] (dotnet.native.98v1chuo8c.js:8:113231) at dotnet.runtime.fn94ls2wwa.js:3:188734 dotnet.runtime.fn94ls2wwa.js:3 MONO_WASM: mono_wasm_load_runtime () failed [object Object] The fix in dotnet/sdk#51269 is to update `%(KnownWebAssemblySdkPack.WebAssemblySdkPackVersion)`. The question is "update *to what*?" `%(WebAssemblySdkPackVersion)` refers to the [Microsoft.NET.Sdk.WebAssembly.Pack][0] NuGet package version, and the only `-rc.2` version doesn't work. What if we try the RC1 version? Will it work? 🤷♂️ [0]: https://www.nuget.org/packages/Microsoft.NET.Sdk.WebAssembly.Pack
Context: dotnet/aspnetcore#63970 Context: dotnet/aspnetcore#63970 (comment) Context: dotnet/aspnetcore#64041 Context: dotnet/aspnetcore#64041 (comment) Context: dotnet/runtime#120790 Context: dotnet/sdk#51269 .NET 10 RC2 broke WebAssembly, causing apps to crash: [MONO] * Assertion at /__w/1/s/src/runtime/src/mono/mono/metadata/assembly.c:2718, condition `<disabled>' not met Error at Mc (dotnet.runtime.fn94ls2wwa.js:3:172298) at dotnet.native.ggch313emy.wasm:0xac62 at dotnet.native.ggch313emy.wasm:0x43c51 at dotnet.native.ggch313emy.wasm:0x42301 at dotnet.native.ggch313emy.wasm:0x42422 at dotnet.native.ggch313emy.wasm:0x42465 at dotnet.native.ggch313emy.wasm:0x42438 at dotnet.native.ggch313emy.wasm:0x8cd9 at Module._mono_wasm_load_runtime [as mono_wasm_load_runtime] (dotnet.native.98v1chuo8c.js:8:113231) at dotnet.runtime.fn94ls2wwa.js:3:188734 dotnet.runtime.fn94ls2wwa.js:3 MONO_WASM: mono_wasm_load_runtime () failed [object Object] The fix in dotnet/sdk#51269 is to update `%(KnownWebAssemblySdkPack.WebAssemblySdkPackVersion)`. The question is "update *to what*?" `%(WebAssemblySdkPackVersion)` refers to the [Microsoft.NET.Sdk.WebAssembly.Pack][0] NuGet package version, and the only `-rc.2` version doesn't work. Using the `-rc.1` version with RC2 *also* doesn't work. This thought appears unviable: whatever version specified there needs to be a published NuGet package version, and wherever the fix is, it doesn't appear to have been published yet. dotnet/aspnetcore#63970 presents an alternative workaround: > The issue in .NET 10 RC2 SDK is related to publishing fingerprinted > assets in WebAssembly based projects. The workaround is to disable > fingerprinting. This can be done by settting `$(WasmFingerprintAssets)`=false. Try it! Does It Work? [0]: https://www.nuget.org/packages/Microsoft.NET.Sdk.WebAssembly.Pack
In dotnet/installer#19199 we have migrated to always use .NET 10 SDK pack, but we missed to update workload manifest for targeting .NET 9.
The PR should enforce that SDK pack will always match current version of servicing release.
Also related change in .NET 9 dotnet/runtime#93031.
Contributes to dotnet/aspnetcore#64049