visual-studio - nuget 包是否包含 pdb 符号

标签 visual-studio nuget

我已经包含了一个 NuGet 包 (Edge.js),我想通过单步调试源代码来调试它。当我“介入”时,它“跨过”。我猜这是因为没有要介入的符号文件。可能 EdgeJS 包是在没有来源的情况下发布的,这可能是原因。但是我不知道如何验证 NuGet 包是否包含 pdb 符号。

也可能是我失败了configuration of Visual Studio但是因为我不知道 NuGet 包是否包含符号,所以我不知道该以哪种方式查看。

谢谢你的帮助

最佳答案

Nuget 支持使用 nuget pack -Symbols 创建包含 PDB 和源文件的包。命令。通常,这些包被上传到symbolsource.org 用于开源项目。可以将 Visual Studio 配置为在调试期间使用 symbolsource.org,请参阅 this guide .

然而,并不是每个开源项目都会将符号包上传到symbolsource.org,所以你必须检查Edge.js是否这样做(我不知道那个库)。

如果 Edge.js 不提供符号包,您的选择如下:

  • 下载 edge.js 源代码并使用调试符号在本地构建。将 DLL 和 PDB 复制到应用程序的输出文件夹并开始调试。
  • 使用反编译器。您获得的信息不如调试符号和源文件多,但对于您的情况可能就足够了。 Resharper(商业工具)附带的反编译器对于以这种方式调试 DLL 非常有用。
  • 关于visual-studio - nuget 包是否包含 pdb 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28902004/

    相关文章:

    docker - Docker build提示找不到nuget fallback包文件夹

    C# 根据使用的 dll 版本编译函数。

    c++ - 如何从 CMake 中隐藏 Visual Studio 中的目标

    c# - 单元测试方法中是否需要摘要

    c++ - 如何使用 Visual Studio 2013 构建 Boost

    c# - 在 Visual Studio 设计器中为控件指定双击事件

    xsd - IntelliSense 支持在 Visual Studio 中编辑 NuGet 规范

    nhibernate - 加载 NHibernate 依赖的 dll 之一时出错

    .net - 控制 dotnet pack 项目引用的版本约束

    visual-studio - NUnit 无法加载,使用版本 3.11