Visual Studio忽略输出文件夹中的PDB文件

我试图通过使用VS2015通过nuget包来调试我正在使用的C#代码。 该软件包包含以下结构中DLL的DLL,PDB和源代码(由Nuget文档建议):

> lib
    > portable.etc.etc
        > x.dll
        > x.pdb
> src
    > *.cs
    > **/*.cs (etc.)
> x.nupkg

在我的应用程序的bin / Debug文件夹中,我可以看到用这些DLL复制出来的.pdb文件。 根据我的理解(关于Visual Studio的调试器的文档),调试器应该在与DLL相同的文件夹中查找相同名称的PDB(或匹配的哈希)。

当我使用此配置设置断点并尝试进入nuget包的代码时,会打开一个文件资源管理器,要求我查找源文件。 如果我选择nuget包附带的源文件,我可以设置断点,但调试器不会停止它们。 因此,在我看来,PDB根本没有被使用。

在Debug中编译使用程序,Nuget软件包也包含在Debug配置中。

Enable Just My Code未选中。

我如何让Visual Studio使用nuget包中的PDB?

-----------更新-------------------

在修复了VS中默认设置的一些古怪配置之后,使用bin / Debug中的PDB获得了它。 (地址级调试关闭)。 但是,它仍然会让我在文件资源管理器中搜索源文件。 有没有办法让VS自动打开该源文件,或手动打开文件负担我的nuget包消费者将不得不忍受? 为了澄清,PDB自动加载。 我想自动加载VS的源代码文件,而不是让我在文件浏览器中手动查找。


尝试在调试设置中禁用我的代码,然后在Debug - > window - > modules中导航,并为外部程序包加载符号


您需要确保您没有选中“启用只是我的代码”来逐步通过第三方.pdb文件。

转到:工具 - >选项 - >调试 - >取消选中“启用我的代码”

它会从pdb读取源信息(如果可用并匹配)。 该pdb文件应匹配相应的dll文件正常工作,这意味着从同一个版本。

在这里输入图像描述

链接地址: http://www.djcxy.com/p/74565.html

上一篇: Visual Studio ignoring PDB files in output folder

下一篇: How to load symbols in Visual Studio 2012