Blazor WebAssembly懒加载RCL失败:BLAZORSDK1001错误求助
解决Blazor WebAssembly懒加载RCL的BLAZORSDK1001错误
确认RCL输出名称与引用正确性
检查Software1和Software2两个RCL项目的程序集名称是否与配置中的Software1.dll完全匹配(可在项目属性的“应用”标签下查看)。同时确保主客户端项目对两个RCL采用项目引用而非包引用,项目引用能确保构建流程正确关联DLL输出。显式引用RCL类型避免被裁剪
Blazor的裁剪机制会自动移除未被直接引用的程序集,即便配置了懒加载。需在主项目中至少触发一次RCL类型的引用,让编译器标记这些DLL为需保留项。比如在Program.cs中添加:// 仅用于标记程序集需保留,无需实际调用 _ = typeof(Software1.某个组件或类); _ = typeof(Software2.某个组件或类);将“某个组件或类”替换为RCL中实际存在的类型即可。
调整懒加载配置的路径写法
尝试指定完整的相对输出路径,或使用通配符匹配:<ItemGroup> <BlazorWebAssemblyLazyLoad Include="bin\Release\net8.0\wwwroot\_framework\Software1.dll" /> <BlazorWebAssemblyLazyLoad Include="bin\Release\net8.0\wwwroot\_framework\Software2.dll" /> </ItemGroup>注意根据实际使用的构建配置(Debug/Release)调整路径中的配置名称。
临时禁用裁剪排查问题
若上述方法无效,可先禁用裁剪验证是否为裁剪机制导致的问题。在客户端项目文件中添加:<PropertyGroup> <PublishTrimmed>false</PublishTrimmed> <BlazorEnableCompression>false</BlazorEnableCompression> </PropertyGroup>重新构建后若错误消失,说明核心问题是裁剪移除了DLL,回到第二步处理即可。
清理缓存后重建
删除客户端项目的bin和obj文件夹,清理构建缓存,再重新执行构建操作,避免旧缓存引发的路径或文件引用异常。
内容的提问来源于stack exchange,提问作者mz1378
相关产品推荐
相关产品推荐

