C# 在Visual Studio.NET中调试动态加载的程序集

C# 在Visual Studio.NET中调试动态加载的程序集,c#,debugging,reflection,C#,Debugging,Reflection,我使用C#和反射从程序集中加载和调用方法。我有程序集本身的源代码。我需要做什么才能让调试器进入(而不是越过)动态加载的程序集的代码 如果我在…调用行上按F11,它只会跨过它 谢谢您是否将PDB文件与DLL放在同一位置,这些文件是从当前位置的源代码中生成的?在本地生成动态加载的程序集的源代码,并确保您拥有运行引用应用程序的PDB文件 这是希望调试ASP.NET MVC源代码的人的常见要求。不过,关于GAC还有很多问题 另一种快速(但不干净)的方法是将动态加载程序集的项目临时添加到解决方案中。这是S

我使用C#和反射从程序集中加载和调用方法。我有程序集本身的源代码。我需要做什么才能让调试器进入(而不是越过)动态加载的程序集的代码

如果我在…调用行上按F11,它只会跨过它


谢谢

您是否将PDB文件与DLL放在同一位置,这些文件是从当前位置的源代码中生成的?

在本地生成动态加载的程序集的源代码,并确保您拥有运行引用应用程序的PDB文件

这是希望调试ASP.NET MVC源代码的人的常见要求。不过,关于GAC还有很多问题


另一种快速(但不干净)的方法是将动态加载程序集的项目临时添加到解决方案中。这是Steve Sanderson的建议。就我个人而言,我更喜欢PDB root。

我知道这是一篇很久以前的文章,只是想贡献这个web案例

如果您正在执行web项目并动态加载程序集, 如果您使用IIS作为开发服务器, 别忘了重新启动应用程序池。

我也遇到了同样的问题

解决方案:

  • 对解决方案中的所有项目使用相同的生成文件夹(右键单击每个项目->属性->生成->输出路径(我对所有项目使用了“.\bin\Debug”)。查看您的配置。对于所有路径更改,它必须为“活动(调试)”
  • 如果更改了DLL项目中的一行,请始终创建项目生成。DLL文件的版本必须与Visual Studio中的C#源完全相同

  • 它就像一个符咒一样工作…

    是的,我有用于程序集的pdb文件-我将尝试将它放在应用程序运行的目录中,从链接到调试ASP.NET MVC框架丢失..你有参考链接吗?