转到定义并查找所有引用在 Visual Studio 中不起作用

2024-03-22

我在 VS 2013 Pro 中有一个 Windows 窗体解决方案,其中有多个 VB 和 C# 项目。其中一个依赖项如下所示:

Startup Project, SP (VB)
    Custom Controls Library, CL (C#)
       Utils/Constants Library, UL (VB)
    UL (again, referenced directly from SP)

我的问题是,当我从 SP 转到 CL 时,它会将我带到对象浏览器。当我从 CL 转到 Def 时,它会显示元数据。但是当我从 SP 转到 Def 到 UL 时,效果很好。另外,当我在 CL 中查找控件的所有引用时,它不会显示 SP 引用,但是当我从 SP 中查找时,它会显示 SP 和 CL 中的引用。

我在 StackOverflow、MSDN 和其他几个论坛上进行了搜索,并尝试了我找到的所有建议:我删除了所有引用并重新构建了它们(我 100.0% 确定它们都是项目引用,而不是文件引用)。我已完全删除我的解决方案文件并从头开始添加项目。我已确保参考中的 GUID 与参考中的 GUID 匹配。它们都是使用相同的框架构建的,并且都针对相同的处理器类型。所有项目都生成 pdb 和 xml 调试文件。我假设 VS2013 取消了 IntelliSense 数据库文件,因为我在磁盘上找不到任何要删除的文件(否则我会尝试一下!)。

另一个有趣的(我假设相关的)细节是 CL 中的方法/属性重命名不会反映在 SP 中。不仅 SP 子类的符号没有重命名,而且在我重建之前,Visual Studio 甚至不会提醒我此错误。所以,似乎 IntelliSense 已损坏,或者我还缺少其他东西。

我实在是不知所措。据我所知,这个功能已经起作用了。我不能确定从2012年升级到2013年以来它是否有效。有人有同样的经历吗?我已经禁用了附加组件、重建了解决方案、重新添加了项目依赖项……并且我会重新安装 Visual Studio,但如果有更简单的方法,我真的不想浪费几个小时的开发时间。


最近升级到 VS2013,可以告诉您,当您单击定义该函数的名称时,“查找所有引用”选项用于显示解决方案中调用该函数的所有位置。它现在所做的就是向您展示您已经在查看的内容。

现在我面前有第 218 行: Public Shared Function MyNewFunction(ByVal test As String)

如果我右键单击 MyNewFunction 并选择“查找所有引用”,输出窗口会显示“查找符号结果 - 找到 1 个匹配项”,并且它与上面的函数名称、文件和行号相同。 所以它实际上是没有用的。

当然,除非有一些我们还没见过的隐藏设定?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转到定义并查找所有引用在 Visual Studio 中不起作用 的相关文章

随机推荐