Description
In previous versions of Blazor WebAssembly, legacy Mono and Emscripten APIs were exported to global namespace.
From 9.0 those APIs are accessible throught Blazor.runtime object.
Version
.NET 9 GA
Previous behavior
Legacy Mono (MONO, BINDING) and Emscripten Module object was exported to global window object.
For example window.Module.FS returned emscripten virtual filesystem.
New behavior
Emscripten Module object is now exported to Blazor.runtime object.
For example Blazor.runtime.Module.FS returns emscripten virtual filesystem.
Legacy Mono API for interop was removed completely (MONO and BINDING) and replaced with JSImport/JSExport.
Type of breaking change
Reason for change
The general goal is not to polute global namespace and keep all the APIs accessible from single Blazor object.
Recommended action
Replace accessing Emscripten APIs from window object to Blazor.runtime object.
Affected APIs
window.MONO.*
window.BINDING.*
window.Module.*