Blazor WebAssembly AOT 编译需手动启用,仅支持.NET 7+独立部署模式;可通过发布配置文件或命令行参数(-p:RunAOTCompilation=true)开启,并需注意体积增大、反射限制及调试受限等问题。
Blazor WebAssembly AOT

方式一:通过发布配置文件(推荐,更可控)
在 Visual Studio 中:
或者直接在 .pubxml 文件中添加:
true
方式二:命令行发布时指定参数
在项目根目录执行:
dotnet publish -c Release -p:RunAOTCompilation=true
若使用 .NET 9+,还可加 -p:PublishTrimmed=true 配合裁剪(AOT 通常建议启用裁剪)。
wwwroot/_framework 下的 wasm 文件体积(可能翻倍),首次加载变慢,但后续运行更快(尤其 CPU 密集型逻辑)。 dynamic、反射-heavy 的代码(如未标注 [AssemblyMetadata] 或未保留类型),需配合 TrimmerRootAssembly 或 DynamicDependency 特性处理。 DebugType=embedded)。 dotnet workload list 查看是否含 wasm-tools。发布完成后,检查输出目录(如 bin\Release\net10.0\publish\wwwroot\_framework):
dotnet.wasm + 大量 *.dll.bc 和 *.dll.o 文件,说明 AOT 已启用; dotnet.wasm 和 *_wasm.js,则仍是解释执行(未开启 AOT)。基本上就这些。