我正在为使用加载插件 DLL 的产品创建插件Assembly.Load(byte[])
。这一切都非常好,但这意味着我没有加载调试符号的常规方法来逐步执行我的代码。
疯狂的是,几个月前我遇到了完全相同的问题并解决了它——我为自己感到骄傲!所以我知道它可以做到,我只是忘记了怎么做!
我对我可能尝试过的事情有一些模糊的记忆,但我无法从脑海中梳理出细节:
- .NET 反射器
- 可能是错误的,因为我清楚地记得单步执行原始 .cs 文件
- 使用 IIS Express 而不是 Cassini
- 但这让我觉得这是一个奇怪的解决方案——程序集是从字节数组加载的,因此框架对 DLL 的来源或适当的 PDB 可能会是什么样子一无所知。这个问题应该存在于任何环境中。
- 通过“模块”窗口手动加载符号
- 试过这个;我得到“符号文件 xxxxx.pdb 与模块不匹配”——因为,当然,我们是从字节数组加载的,而不是 DLL 本身。