【问题标题】:Visual Studio Go to Definition (F12) opens Object Browser instead of Code ViewVisual Studio 转到定义 (F12) 打开对象浏览器而不是代码视图
【发布时间】:2010-01-27 20:29:47
【问题描述】:

我正在运行 VS2005,当我右键单击一个对象并选择转到定义时,它会将我带到对象浏览器而不是实际代码。

我可以更改一些设置来解决此问题吗?注意:它适用于 C# 解决方案,我遇到了 Basic 问题。

【问题讨论】:

    标签: c# vb.net visual-studio-2005


    【解决方案1】:

    当我将库的引用添加为“二进制”引用而不是“项目”引用时,我通常会看到这一点。您可能需要删除引用并将其从项目选项卡中添加回来。

    【讨论】:

    • 你的权利,它引用了一个 dll。这是在 VB.NET 中引用用 C# 编写的东西的唯一方法吗?
    • 您应该能够将 C# 和 VB.NET 项目添加到单个解决方案中,并且应该能够从 C# 项目访问 VB 项目中的代码,反之亦然。你不能在一个项目中混合使用 C# 和 VB.NET。
    • 您无法使用 Visual Studio Go to Definition (F12) 在 vb.net 和 c# 代码之间的单一解决方案中导航,为此您需要 resharper 之类的东西。
    • @ParthaChoudhury - 阅读您的评论后,我尝试自己做 - 我可以确认它不起作用。转到定义在 C# 和 VB.NET 之间不起作用。
    【解决方案2】:

    这也可能是由于您的高级编译选项中的 .Net 框架版本不匹配造成的。

    我注意到我的一个项目设置为 .net 3.5,另一个设置为 .net 4.0。

    当我在 .net 4.0 项目上单击 Go To Definition (f12) 时,.net 3.5 项目中的代码只会显示在对象浏览器中。

    幸运的是,我能够将两者更改为相同而不会出现任何问题,但是那些已建立代码库的人在更改 .net 版本时可能需要小心。

    【讨论】:

      【解决方案3】:

      在 (C/C++) 本机项目中使用 Visual Studio 2015 时,在不同的 git 分支之间切换后,我也看到了这一点。解决方法是关闭VS,进入$(SolutionDir)并删除.sdf文件,然后重新打开解决方案。

      【讨论】:

      • 我在 VS2015 Update 2 C/C++ 本机项目中也遇到了这个问题。我遵循了您的解决方案,但没有任何 .sdf 文件。尽管如此,我还是删除了 .db 文件和 ipch 文件夹,它仍然有效。
      【解决方案4】:

      我不确定具体原因,但是当我看到这个问题时,我的解决方案处于发布模式。当我将解决方案置于调试模式时,调试/导航工作正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-09
        • 2011-11-01
        • 2023-04-02
        • 1970-01-01
        • 2010-11-15
        • 2012-03-08
        • 1970-01-01
        相关资源
        最近更新 更多