Fix: MonoRuntimeMixedModeExcludedAssembly ignored when WasmShellAOTProfileExcludedMethods unset#1027
Conversation
The issue was that MixedModeExcludedAssembly parameter was being passed as a property (string) instead of an item group (array). This prevented MonoRuntimeMixedModeExcludedAssembly from working independently. Also added a test project to validate the fix using WasmShellGenerateAOTProfileDebugList. Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
|
|
Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
|
@copilot The new test is not taken into account in CI, let's fix that. |
Added Uno.Wasm.Tests.MixedModeProfile to the netcore-only solution filter to ensure it's built and validated as part of continuous integration. Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
|
@copilot The test is still not run in the right environment. You must add it to the ci pipeline explicitly with the |
Added dedicated build steps to both Linux and Windows CI pipelines that explicitly run 'dotnet publish' on the MixedModeProfile test project. This ensures the AOT process runs and the post-build validation target can verify that profile filtering works correctly. Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
Added explicit |
|
@copilot The profile should be analyzed to determine if a specific method can be found in it or not (filtering should remove a specific full assembly. Don't update nuget.exe as well. |
- Enhanced post-build validation to actually analyze profile content - Verifies Newtonsoft.Json methods exist in original profile - Verifies Newtonsoft.Json and System.Xml methods are excluded from filtered profile - Removed accidentally added nuget.exe binary - Updated README with detailed validation information Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://white-river-0087b630f-1027.eastus2.1.azurestaticapps.net |
Enhanced the profile validation in commit 363111b. The test now:
Also removed the accidentally added nuget.exe binary. |
|
@copilot The build fails with: |
The test project was added to the solution filter but not to the main .sln file, causing MSB5028 build error. Added the project entry with proper configuration mappings and nested it under the Tests folder. Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://white-river-0087b630f-1027.eastus2.1.azurestaticapps.net |
|
@copilot The build is failing with on windows: Also, it seems that adding the csproj to the netcore-only filter causes memory issues on the build agent. Let's remove it from the slnf, and we'll let the single test run on its own. |
- Removed MixedModeProfile from netcore-only.slnf to avoid memory issues - Changed validation target to run AfterTargets="Publish" instead of "Build" - Added condition to only run validation when WasmAotProfilePath is set - AOT profile processing happens during Publish, not Build phase Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
Fixed in commit ddecc5f:
The test now runs standalone via the explicit dotnet publish steps in the CI pipeline. |
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://white-river-0087b630f-1027.eastus2.1.azurestaticapps.net |
|
@copilot The new test is failing in: |
…tion - Updated Program.cs to actually use Newtonsoft.Json (SerializeObject/DeserializeObject) - Changed from WasmShellEnableAotProfile to WasmAotProfilePath property - This ensures Newtonsoft.Json methods are in the AOT profile so validation can verify they're filtered out Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com>
Fixed in commit 2160d63:
The test now uses Newtonsoft.Json in the code, ensuring its methods are included in the AOT profile so the validation can verify they're properly filtered out by MonoRuntimeMixedModeExcludedAssembly. |
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://white-river-0087b630f-1027.eastus2.1.azurestaticapps.net |
1 similar comment
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://white-river-0087b630f-1027.eastus2.1.azurestaticapps.net |
|
@Mergifyio backport release/stable/10.0 |
✅ Backports have been createdDetails
|
…0.0/pr-1027 Fix: MonoRuntimeMixedModeExcludedAssembly ignored when WasmShellAOTProfileExcludedMethods unset (backport #1027)
MonoRuntimeMixedModeExcludedAssemblynot working when used alone@(MonoRuntimeMixedModeExcludedAssembly)instead of$(WasmShellMixedModeExcludedAssembly)WasmShellGenerateAOTProfileDebugListOriginal prompt
MonoRuntimeMixedModeExcludedAssemblyis not taken into account ifWasmShellAOTProfileExcludedMethodsis not specified #1026💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.