.NET中CS8865错误:Nop Commerce 4.50自定义插件开发异常
解决Nop Commerce 4.50插件开发中的CS8865错误
错误原因
CS8865 是C#编译错误,核心规则很明确:只有record类型可以继承自record类型。如果你的插件代码里用class去继承一个record类型,就会触发这个错误。
排查与修复步骤
- 检查自定义插件里所有带继承关系的类,定位到那个自身是
class但继承了record的类型。 - 两种修复方向:要么把这个子类改成
record类型,要么更换它的父类为普通class(需符合业务逻辑和Nop Commerce插件规范)。 - 对照现有正常插件的类结构,确保继承链里的类型一致:要么全是
class,要么全是record。
举个错误代码示例:
// 父类是record类型 public record BasePluginRecord { } // 子类是class,继承record就会触发CS8865 public class CustomPluginLogic : BasePluginRecord { }
修复后的正确写法二选一:
// 方案1:子类改为record public record CustomPluginLogic : BasePluginRecord { } // 方案2:父类改为class public class BasePluginClass { } public class CustomPluginLogic : BasePluginClass { }
内容的提问来源于stack exchange,提问作者Aakash j
相关产品推荐
相关产品推荐

