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

.NET 6 Blazor页面继承基类触发CS0115错误求助

解决Blazor页面继承自定义基类时的CS0115错误

核心问题:自定义基类未继承Blazor组件基类

你的CheckoutBase是普通C#类,没有继承Blazor组件的核心基类ComponentBase。Blazor Razor页面编译时会自动生成代码,尝试重写BuildRenderTree方法,但如果基类没有继承ComponentBase(或其派生类),就找不到可重写的对应方法,从而触发CS0115错误。

修复步骤

修改基类代码,让它继承Microsoft.AspNetCore.Components.ComponentBase:

using Microsoft.AspNetCore.Components;

namespace MyBlazorProject.Pages
{
    public class CheckoutBase : ComponentBase
    {
    }
}

项目重命名后的额外排查点

结合你提到的项目重命名操作,还需确认以下内容:

  • 基类的命名空间MyBlazorProject.Pages要和Razor页面的命名空间一致(Razor页面默认命名空间为项目根命名空间+Pages,重命名后可能需手动调整)
  • 删除项目的bin和obj目录,重新生成解决方案,清理旧编译缓存
  • 检查csproj文件中的RootNamespace是否正确(重命名后可能未同步更新),可在<PropertyGroup>中添加或确认:
    <RootNamespace>MyBlazorProject</RootNamespace>
    

验证方法

修改基类后重新构建项目,CS0115错误应会消失。若问题仍存在,可尝试:

  • 关闭并重启IDE(如Visual Studio)
  • 确认所有NuGet包版本与目标框架net6.0匹配,无版本冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:21:13