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

升级.NET SDK 7.0.302后Blazor应用出现RZ9985错误求助

解决Blazor应用更新.NET SDK 7.0.302后的RZ9985错误

问题分析

该错误是由于.NET SDK 7.0.302的组件扫描机制变化,导致同一个泛型组件DataExporterGluGridColumn<T>被重复识别,同时Microsoft.AspNetCore.Components.Key被误关联到同名标签上,旧SDK环境未触发该扫描逻辑所以正常运行。

具体解决步骤

  • 清理项目缓存

    1. 删除项目根目录下的bin和obj文件夹
    2. 重启Visual Studio后重新生成解决方案
    3. 也可使用命令行执行dotnet clean再dotnet build,规避VS本地缓存干扰
  • 检查组件引用与注册

    1. 打开_Imports.razor,确认TX.Web.Client.UI.Components.DataExporter命名空间没有被重复导入
    2. 若通过代码注册组件(如AddComponentModels),检查是否重复注册了DataExporterGluGridColumn<T>
    3. 查看组件类上的特性,确保没有重复添加[Component]或类似注册特性
  • 修正泛型组件标签识别
    给DataExporterGluGridColumn<T>添加明确的标签名特性,避免SDK自动生成时出现冲突:

    [HtmlElement("DataExporterGluGridColumn")]
    public class DataExporterGluGridColumn<T> : ComponentBase
    {
        // 组件原有逻辑
    }
    
  • 排查Key组件误识别问题

    1. 检查所有Blazor模板文件,确保没有错误使用<Key>标签(正确用法是@key指令,而非组件标签)
    2. 调整_Imports.razor的导入规则,将@using Microsoft.AspNetCore.Components改为按需导入特定组件,避免SDK扫描到Key组件并关联到同名标签
  • 临时回退SDK验证
    若以上方法无效,可在项目文件(.csproj)中指定旧版SDK运行时版本,验证是否为新版本SDK的兼容性问题:

    <PropertyGroup>
      <TargetFramework>net7.0</TargetFramework>
      <RuntimeFrameworkVersion>7.0.5</RuntimeFrameworkVersion> <!-- 替换为之前正常运行的版本 -->
    </PropertyGroup>
    

内容的提问来源于stack exchange,提问作者Ghyath Serhal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:20:03