我正在使用Invoke
从动态加载的程序集中执行一些代码。出于好奇,我在调用的方法中引发了异常。它可以正常工作,我可以读取异常,但是缺少行号。
var assemblyBytes = File.ReadAllBytes(scriptPath);
// I'm using this overload to avoid blocking the dll.
var assembly = Assembly.Load(assemblyBytes); // allows to pass pdb bytes in the second argument.
var myMethod = ...
try
{
myMethod.Invoke(null, parameters);
}
catch (TargetInvocationException e)
{
MessageBox.Show(e.InnerException); // missing line numbers
}
动态加载的程序集是在调试模式下构建的。
任何想法为什么会发生这种情况,以及如何显示行号?
在这种情况下,我使用的是.NET Framework 4.0
答案 0 :(得分:0)
将pdb字节传递给Assembly.Load起作用