【发布时间】:2009-08-18 18:54:52
【问题描述】:
我正在使用 C# 和反射从程序集中加载和调用方法。我有程序集本身的源代码。我需要做什么才能让调试器进入(而不是结束)动态加载的程序集的代码?
如果我在 ....Invoke 行上按 F11,它只会越过它..
谢谢
【问题讨论】:
标签: c# debugging reflection
我正在使用 C# 和反射从程序集中加载和调用方法。我有程序集本身的源代码。我需要做什么才能让调试器进入(而不是结束)动态加载的程序集的代码?
如果我在 ....Invoke 行上按 F11,它只会越过它..
谢谢
【问题讨论】:
标签: c# debugging reflection
您是否有与 DLL 并置的 PDB 文件,这些文件是从当前位置的源代码构建的?
【讨论】:
在本地构建动态加载程序集的源代码,并确保您拥有运行引用应用程序的 PDB 文件。
这是希望调试 ASP.NET MVC 源代码的人们的常见要求。不过有关于 GAC 的 some caveats。
另一种快速(但肮脏)的方法是将动态加载的程序集的项目临时添加到您的解决方案中。这就是史蒂夫·桑德森 (Steve Sanderson) 对debugging the ASP.NET MVC framework 的建议。我个人更喜欢 PDB 根目录。
【讨论】:
我知道这是很久以前的帖子,只是想贡献一下网络案例。
如果您正在做 Web 项目并动态加载程序集, 如果您使用 IIS 作为开发服务器, 不要忘记重启应用程序池。
【讨论】:
我遇到了同样的问题。
解决方案:
它就像一个魅力......
【讨论】: