ASP.NET Core MVC类库部分类莫名消失的技术求助
ASP.NET Core MVC类库部分类构建后消失的问题解决
现象总结
- 类库中部分类时隐时现:重新打开解决方案可见,执行构建后消失
- Git提交记录无类删除操作,文件实际未被删除
- 尝试创建同名类时Visual Studio提示已存在,但无法查看或访问
- 近期仅向
bin/debug文件夹添加CSV文件并设置为资源,无其他代码变更
解决步骤
1. 检查项目文件(.csproj)编译规则
类构建后消失大概率是项目编译配置异常:
- 右键类库项目 → 选择「编辑项目文件」
- 排查是否存在
<Compile Remove="xxx.cs" />规则,误将目标类排除在编译外 - 检查是否有
<Content Include="xxx.cs" />错误配置,导致类被标记为资源而非编译文件 - 确认全局编译规则
<Compile Include="**\*.cs" />未被误删或覆盖
2. 清理VS缓存与构建输出
VS缓存或旧构建文件可能引发显示异常:
- 点击菜单栏「生成」→「清理解决方案」
- 手动删除项目的
bin和obj文件夹 - 关闭VS后,删除
%LocalAppData%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache目录下的缓存文件 - 重新打开解决方案并执行「重新生成解决方案」
3. 修正文件的「生成操作」属性
隐形类可能被错误设置了生成属性:
- 在解决方案资源管理器中点击「显示所有文件」按钮,找到目标类文件
- 右键文件 → 「属性」,将「生成操作」修改为编译(Compile),若当前为「内容」或「无」则调整
- 保存设置后重新构建项目
4. 排查Git文件状态
确认本地文件未被Git忽略或状态异常:
- 检查项目根目录的
.gitignore文件,是否存在误匹配目标类的规则 - 在终端执行
git status --ignored,查看是否有被忽略的类文件 - 若文件状态异常,执行
git checkout HEAD -- 目标类文件路径恢复文件原始状态(操作前备份本地修改)
5. 检查CSV资源配置影响
排查添加CSV资源时的误操作:
- 查看CSV文件属性,确保「复制到输出目录」设置为「如果较新则复制」,避免覆盖正常文件
- 确认
.resx资源文件中未误引用类文件路径,导致编译规则冲突
内容的提问来源于stack exchange,提问作者Miles
相关产品推荐
相关产品推荐

