最近我安装了 Visual Studio 2015(Microsoft Visual Studio Community 2015 Version 14.0.25425.01 Update 3),用它打开了一个简单的网站,发现“查找所有引用”只搜索打开的文件。
同一网站在 Visual Studio 2013 中一切正常。
然后我在 Visual Studio 2015 中创建了一个新网站,“查找所有引用”仍然无法正常工作。所以我想这与我自己的网站无关,这是 Visual Studio 的问题。
我用谷歌搜索并尝试了以下方法:
- 确保网站的框架版本和Visual Studio配置都是4.0
- 工具 -> 导入和导出设置 -> 重置所有设置
- 检查输出窗口,没有发现错误
- 删除.suo文件并重建
- 工具 -> 选项 -> 文本编辑器 -> 文件扩展名,为 c# 添加 .cs
- 重新安装 Visual Studio
- 清除 Visual Studio 缓存
- 也许还有其他我不记得了,因为我为此苦苦挣扎了将近两天
抱歉我的英语不好,感谢您的帮助!
更新1。有关该问题的更多详细信息:
“仅搜索打开的文件”,我的意思是,当使用“查找所有引用”搜索标识符时,如果文件已打开,则可以找到文件中出现的标识符,否则忽略这些出现。
比如说,有一个标识符 foo() 和一个调用 foo() 的文件 callfoo.cs。 右键单击 foo(),选择“查找所有引用”。
如果 callfoo.cs 已经在文本编辑器中打开,则可以找到其中出现的 foo(),并显示在 Find Symbol Results 窗口中,否则返回(0 个引用)。
预期的是,无论是否打开 callfoo.cs,都应该找到 foo() 的出现并显示在“查找符号结果”窗口中。
最佳答案
这就是“网站”的工作方式,是设计使然。
创建新解决方案时,如果您在 Visual Studio 中转到“新建/项目”而不是“新建/网站”,您将能够选择一个了解所有引用的项目类型。
不过,我确实认为 Visual Studio 应该只对当前网站进行“手动搜索”以查找引用 - 它不仅懒惰而且不方便。
解决方法是只在解决方案中搜索方法名称。
关于c# - Visual Studio 2015 "Find All References"只搜索打开的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39511375/