我以前在GAC-ed程序集的异常堆栈跟踪中享受了源文件名和行号信息,只需将PDB放在安装DLL的GAC中的同一子目录中(就像DLL是在文件系统的其他地方部署,而不是"注册"与GAC,如果有这样的事情)。
我尝试使用驻留在\ windows \ Microsoft.NET \ assembly \ MSIL \ MyLibrary中的.NET 4程序集做同样的事情,但是我获得了与以前完全相同的堆栈跟踪,其中包含来自堆栈帧的信息(方法签名)但没有源代码信息。
代码存在于IIS工作进程中。我相信回收应用程序池(我已经完成)将是我需要做的最大限度(如果有些东西缓存了PDB不在那里的知识)以查看效果(我们使用Exception.ToString()来记录错误,以获得带有堆栈跟踪的整个链。)
这不再起作用吗?还有其他方法吗?当然,在很多情况下,周期成本浪费了#34;与没有这些信息的成本相比,获得完整信息是非常低的。在我的情况下,我只是想确保在我们的系统测试环境中得到这个,以帮助使错误修正阶段更快地进行...