我的服务器上有一个托管我的nuget包的文件夹。这些包不包含源代码或符号(PDB)。这很有效。
最近,我在本地服务器上设置了另一个文件夹来托管我的nuget包中程序集中的符号文件。
我已经将符号文件夹的路径添加到visual studio中,当我将PDB文件放在文件夹中时,它们在VS中正确加载,我可以在调试时进入代码。如果我查看VS中的符号加载信息,我可以看到PDB是从我服务器上的符号文件夹下载的,确认一切正常。
我认为做这种事情的首选方法是让nuget在创建nuget包的同时创建一个符号包,我想转向这种工作方式。
创建符号和nuget包不是问题。问题是当我按下(使用nuget)符号包到我的符号文件夹VS时无法使用它。当我尝试进入我的nuget包时,VS试图找到PDB,我可以看到它在我的符号文件夹中查找,但它找不到PDB,这是有意义的,因为它包含在nuget符号包中。
任何人都可以解释我缺少的东西吗?
答案 0 :(得分:1)
如何使用本地文件夹中的nuget符号包进行调试?
AFAIK,你不能使用本地文件夹作为符号服务器,我之前尝试过它并没有用,得到了和你一样的错误。因为.pdb
文件包含在符号包中,Visual Studio无法直接在符号包中访问.pdb
文件。
您应该setup your own SymbolServer或upload it to symbolsource.com,在设置SymbolServer并使用符号上传nuget后,您必须配置Visual Studio debugger。
除外,如果您不想设置自己的SymbolServer或将其上传到符号服务器,则此处有轻量级解决方案:
有关步骤1和步骤2的详细信息,请参阅this thread。
然后你可以使用本地文件夹调试这个nuget包:
希望这有帮助。