Visual Studio关闭后重开项目出现重复定义类报错如何解决?
问题原因
CS0101、CS0111、CS0121均属于C#编译阶段的类型/成员重复定义类错误,关闭项目重开才触发通常是以下几个原因导致:
- 项目配置异常:.csproj项目文件出现配置错误,同一个源文件被多次加入到编译列表中
- 编译缓存残留:VS关闭时未正常清理
bin、obj目录下的中间编译文件,重开后被误识别为当前项目的源码,和实际源文件产生冲突 - 类定义不规范:同一命名空间下存在未加
partial关键字的同名类,或多个文件中存在参数、名称完全一致的同名成员,关闭项目前VS未触发全量编译所以未抛出报错
修复方案
按优先级执行以下操作即可解决绝大多数该类问题:
- 清理缓存:右键你的项目点击
清理,再右键解决方案点击清理解决方案,之后手动删除项目根目录下的bin和obj文件夹,重启VS重新加载项目 - 检查项目包含文件:在解决方案资源管理器顶部点击「显示所有文件」按钮,排查是否有重复的Program.cs、SecondClass相关的文件被包含到项目中,多余的重复文件右键选择「从项目中排除」
- 校验项目配置:右键项目点击「编辑项目文件」,查找所有
<Compile Include="xxx.cs"格式的配置行,删除重复引入相同源文件的配置行后保存,重新加载项目 - 检查代码定义:确认所有包含Program、SecondClass类的源文件,如果是拆分同一个类的逻辑,给类加上
partial关键字,示例:public partial class Program;如果无拆分需求,直接删除重复的类/成员定义即可,同时额外检查命名空间定义,避免出现把.cs后缀写入命名空间的错误写法。
内容的提问来源于stack exchange,提问作者JohannaH
相关产品推荐
相关产品推荐

