Visual Studio:debugging一个被引用的DLL,我在另一个SLN有源代码

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

我能做到这一点的一个方法是将我的项目(DLL)作为一个现有的项目添加到我的解决scheme,并replace引用的DLL使用附加的项目,而不是磁盘上的文件。

但是多么混乱,我肯定有一个更清洁的方式?

我似乎记得,如果我复制一些PDB文件或什么,但我不记得了。 我是否需要打开2副本的视觉工作室,1为我的主要项目和1为我引用的DLL?

在您自己的机器上以debugging模式重新构build第二个解决scheme(以便该PDB中的文件path特定于您的机器)。

将.DLL和.PDB文件复制到您的引用文件夹。 Visual Studio将自动选取.PDB文件并使用文件path来显示源文件。

当引用的程序集在其他位置构build时,也可以使用Symbol Server和Source Server来实现此目的: http : //msdn.microsoft.com/en-us/library/vstudio/ms241613.aspx

我通过下面的方法得到了解决scheme

尝试禁用只是我的代码(JMC)。

工具 – >选项 – >debugging器取消选中“启用我的代码”

我有同样的问题,我通过清理和重build解决scheme来解决。 它将更正.pdb文件中的引用来查找并打到第二个项目中的中断点。

当您执行一个Debug版本时,所有的dll和pdb文件都在主机项目中build立。 所以应该没有必要手动复制文件。

右键单击Solution,selectAdd / Existing Project …导航到Class lib文件夹并selectproj文件(例如myproj.csproj)。 这些文件不被复制,只是被引用,你可以在IDE中打开这个类的源代码,并以正常的方式设置断点,它就可以工作。