启用Blazor WASM多线程遇断言错误求助
解决Blazor WASM线程模式下原生编译引发的断言错误
错误原因
开启<WasmBuildNative>true后,.NET WASM的原生编译流程需要生成线程相关的配套资产文件,但你当前未添加任何原生文件,导致编译流程无法生成js-module-threads资源,触发断言失败。
解决方案
方案1:暂时关闭原生编译(推荐,适合测试线程功能阶段)
- 从项目文件(
.csproj)中移除<WasmBuildNative>true配置 - 保留以下配置和包引用:
<PropertyGroup> <WasmEnableThreads>true</WasmEnableThreads> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.NET.WebAssembly.Threading" Version="对应你的.NET版本号" /> </ItemGroup> - 清理项目的
bin和obj目录,重新构建运行
方案2:保留原生编译(需添加原生文件)
- 在项目中添加至少一个原生文件(比如新建一个空的
native.c文件) - 在项目文件中配置原生文件的引用:
<ItemGroup> <NativeFile Include="native.c" /> </ItemGroup> - 清理并重新构建项目,此时原生编译流程会生成线程相关的资源文件,断言错误即可解决
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

