【问题标题】:Can I add GitHub as debugger source in Visual Studio?我可以在 Visual Studio 中添加 GitHub 作为调试器源吗?
【发布时间】:2015-10-06 21:19:32
【问题描述】:

我在我的项目中使用了一些 NuGet 包,这些包的源代码在 GitHub 中公开提供(例如 OrmLite)。

如何在 Visual Studio 中将它们的存储库配置为调试器源(就像我可以为 .NET Framework 等配置 ReferenceSource 一样...like here)?

ReSharper 能够反编译 DLL,但我更感兴趣的是看到显然无法通过这种方式获得的 cmets。

更新:

我知道pdb 文件,但最初的意图是在按F12 时查看源代码。对于 .NET Framework,只需按照我之前的说明添加 ReferenceSource 即可

【问题讨论】:

  • 问题是除了代码之外,您还缺少一个重要的第二部分,pdb 文件。没有它,您将不可能将源代码与代码相关联。大多数 NuGet 包不将 pdb 与包捆绑在一起。
  • 请查看更新后的问题
  • 问题是当你添加RefrenceSource时,它会下载pdb文件,这就是当你按下F12时它知道它去什么代码的方式。没有 pdb,按 F12 时没有详细信息。

标签: c# visual-studio debugging github nuget


【解决方案1】:

您正在寻找的是http://symbolsource.org,它是一个托管开源pdb(调试)文件的平台。

要使用它,您需要更新您的 Visual Studio 实例以从那里提取 pdb (http://www.symbolsource.org/Public/Home/VisualStudio):

  1. 转到工具 -> 选项 -> 调试器 -> 常规。
    1. 取消选中“仅启用我的代码(仅限托管)”。
    2. 取消选中“启用 .NET Framework 源单步执行”。是的,它具有误导性,但如果您不这样做,Visual Studio 将忽略您的自定义服务器顺序(请参阅下文)。
    3. 选中“启用源服务器支持”。
    4. 取消选中“要求源文件与原始版本完全匹配”
    5. 转到工具 -> 选项 -> 调试器 -> 符号。
    6. 为本地符号/源缓存选择一个文件夹。
    7. 在“符号文件 (.pdb) 位置”下添加符号服务器。请注意正确的顺序,因为某些服务器可能包含相同二进制文件的符号:有或没有源。我们推荐以下设置:

注意:并非每个 nuget 包也会将符号上传到 SymbolSource(因为它需要额外的发布步骤)。所以你可能需要联系项目的开发者,让他们上传,或者如果项目是开源的,你可以自己做。

【讨论】:

  • 我之前和已经做过这些步骤,我在我的问题中提到了链接。不是我需要的。我正在寻找我们不知道的任何方式来跳过额外的步骤并直接从 GitHub 获取源代码
  • 那么不,我认为 GitHub 不会公开 Visual Studio 可使用的符号源。这就是为什么你需要使用像 Symbol Server 这样的中介。
  • symbolsource.org 目前给了我一个粗鲁的 ASP.NET 默认错误页面和状态 500。
  • symbolsource.org 目前已死,域名未注册:-/ 有没有新的替代方案?
【解决方案2】:

使用来自 GitHub 的原始源代码,下载相关的 VS 代码项目并将它们添加到您的解决方案中以供参考,而不是使用二进制文件。

【讨论】:

猜你喜欢
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多