【发布时间】:2017-11-22 23:36:45
【问题描述】:
我正在使用符号/源服务器来存储私有 nuget 包。这些包是使用“nuget pack”命令使用 -symbols 标志构建的,然后推送到服务器。
Visual Studio (2015) 在第一次调试特定包时从服务器正确加载符号/源。当我尝试调试该软件包的不同版本时会出现问题。只要 SymbolCache 目录中有任何版本的源文件可用,Visual Studio 就会使用该版本进行调试。
当我清除 SymbolCache 目录时,它会再次从符号/源服务器加载正确的文件版本并将其放入 SymbolCache。
示例:
- 我有一个包“testpackage”,Application-A 使用版本 1.0.1,Application-B 使用 testpackage 版本 1.0.2
- 我通过 Application-B 从 testpackage 调试代码
- testpackage 1.0.2 的源文件被复制到 SymbolCache 目录并在调试时正确使用
- 我通过 Application-A 从 testpackage 调试代码
- 使用 1.0.2 版本的源文件代替 1.0.1
在第 6 步中,我希望将版本 1.0.1 复制到 SymbolCache 目录并用于调试
我在调试期间检查了“模块”窗口,它显示正确的 pdb 是从缓存中加载的,或者如果不存在,则 pdb 是从符号服务器加载的。每个包版本都有一个包含符号文件的目录。
即使使用了正确的符号文件,它仍然会加载错误的源文件,直到我清除 SymbolCache。
【问题讨论】:
标签: visual-studio visual-studio-2015 nuget nuget-package visual-studio-debugging