尽管存在pdb文件,Resharper仍无法导航到外部源

Kra*_*ach 5 c# resharper visual-studio pdb-files visual-studio-2012

  • 我的解决方案使用我的其他解决方案生成的.dll类
  • .dll在同一台机器上以调试模式生成的地方,存在pdb文件
  • 在调试工作期间浸入那些外部源,所以我假设pdb文件是正确的
  • pdp文件与.dlls位于同一目录中
  • 在R#设置中,我选择了"导航到源"和"使用调试信息进行导航检查"
  • VS2012 Pro和R#8.02 Full

它让我疯狂,为什么这样至关重要的事情,即在每个常见的免费IDE for Java中提供开箱即用的东西,都不可能使用数百美元的工具在C#中工作......

cit*_*att 3

看看您发布的要点中的转储,我看到的第一个问题是 的空部分PdbCacheManagerImpl。这是 ReSharper 知道的 pdb 列表。这不应该是空的。有一个已知的错误可能会导致该错误为空。尝试关闭并重新打开解决方案,看看是否会再次启动。

同样,您部分中的程序集PdbServiceImpl不包含有关 pdb 的任何信息。我认为这与PdbCacheManagerImpl- 由于 ReSharper 不知道 pdb 文件,因此它没有在此处列出。当它工作时,它应该显示与程序集相关的 pdb 文件,以及 pdb 中所有符号的列表以及它们映射到的文件。

(我可以通过创建一个新的解决方案来重新创建它 - 转储在本节中没有显示任何内容。关闭并重新打开,它会显示已知的 dll,并带有标志来说明它们是否支持源服务器以及它们是否包含符号(类型)和源之间的映射文件。关闭并重新打开后,我可以下载并查看eg的源代码Console.WriteLine,并且在mscorlib pdb中PdbServiceImpl有一个条目)System.Console

其次,您的选项中没有启用“允许从远程位置下载”。这只会影响您从符号服务器下载 pdb 文件,它不应该阻止 dll 旁边的 pdb 的工作。不过,您需要启用它才能导航到 的源Console.WriteLine

因此,不幸的是,我现在的建议是关闭并重新打开解决方案,然后重试。您可能遇到了已知的错误,解决此问题的唯一方法是关闭并重新打开。重新打开后,尝试再次导航,并再次尝试转储支持信息 - 您应该在 中看到更多 pdb,PdbCacheManagerImpl并在该部分中看到已知符号列表PdbServiceImpl