我正在尝试调试NuGet源代码(Project通过MyGet中的一个NuGet包引用Project ),我被困在“断点不会被击中,当前的源代码是不同的”错误,我没有想法。
我所做的:
符号在MyGet中:

这些模块似乎正确加载:

R#似乎使用了错误的哈希,并给出了错误:
PdbNavigator: Downloader: https://private-symbol-server/symbols::Phx.Security.Web.NETCore.dll::02da18bf9fbf42e1bd6263e56ca57af8FFFFFFFF -> Ok (cached)
PdbNavigator: No debugging information found on symbol servers for Phx.Security.Web.NETCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullVS抱怨当我手动将断点添加到源文件时源代码是不同的:

在这一点上,我愿意接受所有的建议和想法!
发布于 2019-07-24 03:48:36
当前不会命中断点,当前的源代码是不同的错误。
它抱怨VS找到的xx.cs文件与用于构建xx.dll的版本略有不同。我猜想,在构建xx.cs文件并将其发布到nuget服务器后,您可能对xx.dll文件做了一些更改。
您可以尝试重新构建Nuget项目,并将其源文件、pdb和程序集第二次推送到符号服务器。(清理现有版本)
之后,在新解决方案中创建一个新项目,以使用该包并检查问题是否仍然存在。(不确定原始Bar项目是否会影响在同一解决方案中的调试,因此请创建一个新的解决方案进行检查)
此外,您还可以通过Go Debug菜单=> Options => General =>禁用Require source files to exactly match the original version选项来解决此错误。
大多数情况下,我们应该选择此选项,以确保我们在调试过程中看到的是我们正在运行的内容,但是由于这是您的个人项目,如果您能够确保您的符号服务器中的xx.cs和程序集是您想要的正确版本,那么您可以在调试nuget项目时尝试禁用它。见推荐配置。
https://stackoverflow.com/questions/57172955
复制相似问题