我正在尝试使用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的相同名称(或匹配的哈希)看起来与DLL相同。
当我使用此配置设置断点并尝试单步进入nuget包的代码时,会打开一个文件资源管理器,要求我查找源文件。如果我选择了nuget包附带的源文件,我可以设置断点,但调试器永远不会停止。因此,在我看来,PDB根本没有被使用。
在Debug中编译耗材程序,nuget包也是在Debug配置中构建的。
Enable Just My Code
未经检查。
如何让Visual Studio使用nuget包中的PDB?
-----------更新-------------------
在修复了VS中默认设置的一些古怪配置后,使用bin / Debug中的PDB。 (地址级调试关闭)。但是,它仍然让我在文件资源管理器中搜索源文件。 VS是否无法自动打开该源文件,或者手动打开文件是我的nuget包消费者必须承担的负担? 为了澄清,PDB正在自动加载。我想自动加载VS而不是让我在文件浏览器中手动查找的C#源文件。