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

时间:2009-08-18 18:54:53

标签: c# debugging reflection

我正在使用C#和反射来加载和调用程序集中的方法。我有程序集本身的源代码。我需要做些什么才能使调试器进入(而不是结束)动态加载的程序集的代码?

如果我在....调用线上按F11,它就会跳过它..

由于

4 个答案:

答案 0 :(得分:11)

您是否已将PDB文件与DLL共存,是否已根据其当前位置的来源构建?

答案 1 :(得分:10)

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

对于希望调试ASP.NET MVC源代码的人来说,这是一个常见的要求。但是有关GAC的some caveats

另一种快速(但很脏)的方法是暂时将动态加载的程序集的项目添加到解决方案中。这就是史蒂夫桑德森为debugging the ASP.NET MVC framework推荐的内容。我个人更喜欢PDB root。

答案 2 :(得分:1)

我知道这是很久以前的帖子,只是想贡献网络案例。

如果您正在进行Web项目并动态加载程序集, 如果您使用IIS作为开发服务器, 不要忘记重启应用程序池。

答案 3 :(得分:0)

我有同样的问题。

解决方案:

  1. 对解决方案中的所有项目使用相同的Build文件夹(右键单击每个项目->属性-> Build->输出路径(我对所有项目使用“ .. \ bin \ Debug”)。配置。所有路径更改都必须为“活动(调试)”。
  2. 如果您在DLL项目中更改了一行,则始终创建项目构建。 DLL文件必须与Visual Studio中的C#源代码完全相同。

它就像一个魅力...