C#10 Generic Attribute使用时报CS0698错误如何解决
解决步骤
- 第一步:升级Visual Studio 2019到16.11及以上版本,低于该版本的VS2019不支持C# 10的完整语法特性,泛型Attribute属于C# 10新增语法,无法在低版本VS中正常编译。
- 第二步:明确指定项目C#语言版本为10:
你可以直接修改项目的.csproj文件,在首个<PropertyGroup>节点下添加如下配置:
也可以在VS中右键项目→【属性】→【生成】→【高级】,下拉选择语言版本为C# 10,不要使用“默认”或“最新预览版”选项,避免版本识别异常。<LangVersion>10</LangVersion> - 第三步:确认泛型Attribute的定义符合语法规范,示例正确写法如下:
// 必须继承Attribute基类,同时标注AttributeUsage特性 [AttributeUsage(AttributeTargets.All)] public class GenericAttr<T> : Attribute { public GenericAttr(T param) { // 自定义逻辑 } } - 第四步:清理项目缓存后重建:手动删除项目根目录下的
bin、obj文件夹,再在VS中执行【清理解决方案】→【重建解决方案】操作,排除旧编译缓存导致的报错。 - 可选校验:打开命令行执行
dotnet --list-sdks,确认已安装.NET 6.0.100及以上版本的SDK,且项目目标框架已正确设置为net6.0。
内容的提问来源于stack exchange,提问作者K R
相关产品推荐
相关产品推荐

