当指定"整个解决方案"时,Visual Studio 2012"在文件中查找"搜索范围远远超出解决方案

Zar*_*eth 11 visual-studio-2012

在Visual Studio 2012中执行查找和替换操作时; 使用"在文件中查找/替换文件"对话框窗口,将"查找范围"范围设置为"整个解决方案",并在所有文件类型上使用正则表达式,Visual Studio正在忙于搜索整个硬盘驱动器!我的一些搜索需要很长时间,当我查看Visual Studio状态栏时,它显示当前搜索的目录/文件远远超出解决方案文件夹 - 有时它甚至搜索C:\ Windows\System32目录或类似的无关地点.

有没有人见过这种行为?更重要的是,有没有人有解决方案来解决它,所以我的搜索和替换操作坚持解决方案文件,不浪费时间搜索计算机上的其他百万文件?

小智 9

我没有搜索整个驱动​​器,但我已经让它从我项目之外的文件返回匹配(这在VS 2010中).在我的情况下删除.suo文件似乎解决了这个问题.

我怀疑被搜索的文件是我在调试会话期间进入的文件(或者更准确地说是从我的代码中跳出到调用代码中).不知何故,这些文件被记住并包含在搜索中.

这不能解释完整的驱动器搜索,但可以解释我的"解决方案"结果


Bri*_*oss 6

在 Visual Studio Enterprise 2017 版本 15.8.6 中仍然发生。

删除.suo文件(在 参考资料中找到.\.vs\YourSolutionName\v15\)并重建解决方案解决了该问题。

我怀疑要搜索的已知目录/目标目录被缓存在那里,因为查找结果会很快显示出来。表明它没有搜索“整个硬盘驱动器”,甚至我的整个映射工作区“本地文件夹”。通常,如果我在源代码管理中的更多父分支上执行搜索,则需要接近一分钟的时间。


小智 5

我在安装Update 4的Visual Studio 2013中遇到了类似的问题-就我而言,即使从杂项文件“项目”中删除了文件,我仍从杂项文件“项目”中的文件中获取搜索结果。

从解决方案目录中删除.suo文件可解决此问题;但是,这样做会使VS忘记您在解决方案中打开了哪些文件(可能还有其他内容)。