I know it was possible to use:
System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
but that seems to not work anymore, as it needs an Exception-Object.
I know it was possible to use:
System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
but that seems to not work anymore, as it needs an Exception-Object.
试试 Environment.StackTrace。请记住要小心之后的逻辑,因为堆栈可能会以不可预知的方式发生变化。这里有一些讨论:https ://github.com/dotnet/corefx/issues/1420
作为 .Net Core 2.0 可用之前的解决方法,您可以按照如何将堆栈跟踪行拆分为命名空间、类、方法文件和行号的答案中的建议解析 Environment.StackTrace 字符串?- 使用 RegEx 或StackTraceParser
查看.NET Core 的 github上的讨论: StackTrace 和 StackFrame 去了哪里?.
.NET Core 中没有这个类,但有一个开放的任务来实现它:实现 System.Diagnostics.StackTrace/StackFrame - 只是还没有人积极致力于它。