Visual Studio:调试引用的DLL,我在另一个SLN中有源代码

时间:2013-05-14 15:04:36

标签: c# visual-studio-2010 visual-studio visual-studio-debugging

我正在尝试调试一个项目,该项目引用了我添加的DLL,DLL存储在外部目录中,我只是添加了一个引用。现在我当然可以调试我的项目,但在我的另一个dll上调用方法的行我不能介入它,即F12。

我能够做到这一点的一种方法是将我的项目(dll)作为现有项目添加到我的解决方案中,并替换引用的dll以使用附加项目而不是磁盘上的文件。

但是多么糟糕,我相信有更清洁的方式?

我似乎记得如果我复制一些PDB文件或其他东西,但我不记得了。我是否需要打开2个visual studio副本,1个用于我的主项目,1个用于我引用的DLL?

4 个答案:

答案 0 :(得分:69)

在您自己的计算机上以调试模式重建第二个解决方案(以便该PDB中的文件路径特定于您的计算机)。

将.DLL和.PDB文件的 复制到您的参考文件夹。 Visual Studio将自动获取.PDB文件并使用文件路径显示源。

您可以使用Symbol Server和Source Server在其他地方构建引用的程序集时实现此目的:http://msdn.microsoft.com/en-us/library/vstudio/ms241613.aspx

答案 1 :(得分:11)

我通过以下

获得了解决方案

尝试禁用Just My Code(JMC)。

工具 - >选项 - >调试器 取消选中“仅启用我的代码”

答案 2 :(得分:1)

我遇到了同样的问题,我通过清理和重建解决方案解决了这个问题。它将纠正.pdb文件中的引用以查找并命中第二个项目中的断点。

答案 3 :(得分:0)

执行Debug构建时,所有dll和pdb文件都在主机项目中建立。因此,不需要手动复制文件。

右键单击解决方案,选择添加/现有项目... 导航到Class lib文件夹并选择proj文件(例如myproj.csproj)。 文件不会被复制,只是被引用,您可以在IDE中打开类的源代码并以正常方式设置断点,它只是起作用。