Thay đổi đột phá (Breaking change): Các API JavaScript kế thừa của Mono và Emscripten không còn được xuất ra namespace toàn cục trong ứng dụng Blazor WebAssembly
Blazor WebAssembly không còn xuất các API kế thừa của Mono và Emscripten ra namespace toàn cục. Những API này hiện có thể truy cập thông qua đối tượng Blazor.runtime.
Phiên bản giới thiệu
.NET 9 GA
Hành vi cũ
Các API Mono kế thừa (MONO và BINDING) và đối tượng Module của Emscripten được xuất ra đối tượng window toàn cục. Ví dụ: window.Module.FS trả về hệ thống tệp ảo (virtual filesystem) của Emscripten.
Hành vi mới
Đối tượng Module của Emscripten hiện được xuất ra đối tượng Blazor.runtime. Ví dụ: Blazor.runtime.Module.FS trả về hệ thống tệp ảo của Emscripten. API Mono kế thừa dùng cho interop (MONO và BINDING) bị xóa hoàn toàn và được thay thế bằng JSImport/JSExport.
Loại thay đổi đột phá
Thay đổi này có thể ảnh hưởng đến tính tương thích nguồn (source compatibility).
Lý do thay đổi
Thay đổi này được thực hiện để tránh làm ô nhiễm namespace toàn cục và giữ tất cả các API có thể truy cập từ một đối tượng Blazor duy nhất.
Hành động được khuyến nghị
Thay vì truy cập các API Emscripten từ đối tượng window, hãy truy cập chúng từ đối tượng Blazor.runtime.
API bị ảnh hưởng
window.MONO.*window.BINDING.*window.Module.*