【问题标题】:"Go to Implementation" ending up with "The symbol has no implementations"“转到实现”以“符号没有实现”结尾
【发布时间】:2019-10-16 10:41:47
【问题描述】:

当右键单击例如Visual Studio 中的一个方法并选择Go To Implementation 它告诉我

符号没有实现

我试过了

services.AddDbContext<RazorPagesMovieContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("RazorPagesMovieContext")));

其中 AddDbContext 实际上是 Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions 的一部分

是否可以让Go To Implementation 工作,因为 .NET Core 和 ASP.NET Core 是开源的?我不想为此手动转到 Github 存储库。 Ì如果 Visual Studio 无法直接实现,是否有任何插件可以实现这一点?

为了完整起见:我使用的是 Visual Studio 2019 Preview 和 .NET Core Preview 5。

【问题讨论】:

标签: c# visual-studio asp.net-core .net-core


【解决方案1】:

我不想为此手动访问 Github 存储库。 Ì如果 Visual Studio 无法直接实现,是否有任何插件可以实现这一点?

如果您的唯一目的是快速浏览数据并查看代码实现,您可以使用source.dot.net 快速完成此操作

【讨论】:

    【解决方案2】:

    您可以安装用于反编译源文件的 Visual Studio 的 ReSharper 插件或 JetBrains 的 Rider IDE。然而,它们不是免费的。

    【讨论】:

      【解决方案3】:

      可以直接通过 Visual Studio 调试 .NET Core 代码。您需要启用两件事才能实现这一目标。

      1. 允许从 Microsoft 符号服务器加载符号。
      2. 为 Microsoft 的源代码启用调试。

      这两个选项在 Visual Studio 中都可用,无需使用外部工具。

      为了允许从 Microsoft 符号服务器加载符号,您需要转到 工具 >> 选项 >> 调试 >> 符号,您将找到列出的符号服务器。将复选框添加到 “Microsoft 符号服务器”,如下面的屏幕截图所示

      然后转到工具>>选项>>调试>>常规并检查选项“启用.NET Framework for source stepping”这将自动禁用选项“仅启用我的代码” 这很好。

      此时,您仍然无法通过选择感兴趣的代码并按 F12 来检查 Microsoft 代码。但是,您可以在调试应用程序时使用 F11 进入 Microsoft 的代码。这就是它的工作方式。

      注意:如上所示启用 Microsoft 的符号服务器会导致您的 Visual Studio 工作太慢。这是正常的,因为需要从 Microsoft 的服务器下载许多调试符号。因此,仅当您想要检查特定内容并在日常使用中禁用它时才使用此选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-01
        • 1970-01-01
        • 2019-04-07
        • 2012-10-20
        • 2020-03-05
        • 2017-12-27
        相关资源
        最近更新 更多