You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自托管.NET 6 Blazor WASM 发布到文件夹提示相同键已添加错误

错误原因

该报错是.NET 6自托管Blazor WASM发布流程的已知问题,核心触发逻辑是发布时静态资源归集步骤检测到重复的资产键,常见触发场景如下:

  1. 解决方案内多个项目引用了同名不同版本的程序集,发布时IL裁剪处理后生成了重复的静态资产条目
  2. 自托管模式下服务端项目与客户端WASM项目同时引用了同一个包的不同版本,或重复包含了相同的静态Web资产
  3. 项目手动配置了重复的<StaticWebAsset>相关节点,或过往发布的缓存文件未清理导致冲突

解决方案

  • 清理全项目缓存:关闭Visual Studio,删除解决方案下所有项目的bin、obj文件夹,删除本地Nuget缓存中对应Blazor相关包的文件,重新打开IDE还原Nuget包后再次尝试发布
  • 统一Nuget包版本:确保服务端项目、客户端WASM项目、共享类库项目中所有Microsoft.AspNetCore.Components.*、Microsoft.NET.Sdk.BlazorWebAssembly相关依赖的版本完全一致,禁止出现跨版本引用
  • 临时关闭裁剪排查:若上述步骤无效,可在客户端WASM项目的.csproj文件的PropertyGroup节点中添加如下配置,临时关闭IL裁剪验证问题:
    <BlazorWebAssemblyEnableLinking>false</BlazorWebAssemblyEnableLinking>
    
    若关闭裁剪后可正常发布,即可定位为裁剪过程中重复资产导致的问题,后续可针对性排查重复引用的程序集即可
  • 升级SDK与IDE版本:你当前使用的6.0.100版本.NET SDK存在多个Blazor发布相关的已知Bug,可将.NET 6 SDK升级到最新的6.0.x官方补丁版,同时将Visual Studio 2022升级到最新更新,微软已在后续补丁中修复了该重复键冲突问题
  • 检查静态资产配置:检查所有项目的.csproj文件中是否存在重复的<Content>或<StaticWebAsset>节点指向同一个文件,删除重复配置即可

内容的提问来源于stack exchange,提问作者Alex Ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:06:02