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