Microsoft Copilot Studio обновил свой WebAssembly-движок с .NET 8 до .NET 10.
Что изменилось
Сам переход свёлся к обновлению
<TargetFramework> на net10.0 и проверке совместимости зависимостей. Но за этим стоят три заметных улучшения в .NET 10 для WASM.Раньше WASM-приложениям приходилось вручную переименовывать файлы с добавлением SHA256-хеша для сброса кэша. Команда Copilot Studio использовала для этого отдельный PowerShell-скрипт, который читал манифест
blazor.boot.json и прогонял каждый файл. В .NET 10 fingerprint встроен в имена файлов при публикации, а проверка целостности работает из коробки через
dotnet.js. Скрипт удалили, аргумент integrity в загрузчике ресурсов убрали.Если вы загружаете .NET WASM-рантайм внутри
WebWorker, при инициализации укажите dotnetSidecar = true.После AOT-компиляции методов в WebAssembly исходный IL-код больше не нужен в рантайме. В .NET 8 эта настройка существовала, но была выключена. Теперь IL автоматически вырезается из опубликованных сборок.
Выигрыш в рантайме перекрывает рост размера пакета. Холодный запуск стал быстрее примерно на 20%. Повторные вызовы ускорились на ~5%. Больше всего выигрывают сложные агенты с большим объёмом AOT-кода.
Как обновиться
Обновите
<TargetFramework> на net10.0 и подтяните свежие версии пакетов Microsoft.AspNetCore.*, Microsoft.Extensions.* и System.*. Если у вас были скрипты для переименования ресурсов или ручная проверка integrity, их можно удалить.Для автоматизации миграции Microsoft предлагает GitHub Copilot app modernization for .NET, который анализирует решение, планирует апгрейд и применяет изменения.
➡️ Блог разработчиков
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#async_news
