本地nDepend分析结果不更新但Jenkins端正常,求排查方案
本地NDepend查询结果未更新的解决方案
问题背景
负责的大型项目集成了NDepend工具,本地运行时,即便修复了工具提示的问题,查询结果仍未更新,依旧显示之前的错误项。修改类名和文件名后,旧类仍出现在查询错误结果中,双击错误还会弹出“无法找到文件”的提示。已尝试清理重建项目、切换至Release模式、手动删除所有文件后重建、重启电脑、使用Visual Studio插件及VisualNDepend独立应用,但均无效果。提交代码到Jenkins构建实例后,生成的报告符合预期(已修复或更名的内容正常显示)。
排查与解决步骤
1. 清理NDepend本地缓存
NDepend会留存分析缓存,即便项目重建也可能残留旧数据:
- 关闭所有Visual Studio实例和NDepend独立应用
- 找到NDepend缓存目录:
- 默认路径:
%LOCALAPPDATA%\NDepend\Cache - 或在NDepend独立应用中通过
Tools > Options > Directories查看具体位置
- 默认路径:
- 删除目录下与当前项目相关的缓存文件夹(通常以项目名或GUID命名)
2. 重新绑定项目到最新编译输出
- 在NDepend独立应用中打开项目,进入
Project Properties > Code to Analyze - 确认所有目标程序集路径指向最新的编译产物(如
bin/Debug或bin/Release下的dll/exe) - 点击
Refresh按钮重新加载程序集信息
3. 重置查询过滤条件
部分查询可能残留历史筛选规则,导致旧结果显示:
- 打开NDepend查询编辑器,检查查询语句中是否存在硬编码的旧类名、文件路径
- 点击查询面板的
Reset Filters按钮,清除所有残留筛选条件
4. 清理Visual Studio插件缓存
- 关闭Visual Studio
- 删除VS组件缓存:
%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache下的所有文件 - 删除NDepend插件专属缓存:
%LOCALAPPDATA%\NDepend\VSAddInCache目录
5. 强制全量分析项目
- 在NDepend独立应用中,选择
Project > Analyze Project,勾选Force full analysis (skip incremental analysis) - 在Visual Studio插件中,按住
Shift键点击NDepend工具栏的Analyze按钮,触发全量分析
6. 清理项目残留编译文件
- 删除项目根目录下的
obj文件夹,清除旧编译产物 - 重新执行项目编译,再运行NDepend分析
内容的提问来源于stack exchange,提问作者GreatBigGiantBrain
相关产品推荐
相关产品推荐

