我知道可以使用:
System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
但这似乎不再适用,因为它需要一个Exception-Object。
答案 0 :(得分:2)
尝试使用Environment.StackTrace。请记住要小心你的逻辑,因为堆栈可以以不可预测的方式改变。这里有一些讨论:https://github.com/dotnet/corefx/issues/1420
答案 1 :(得分:1)
在.NET Core's github上查看此讨论: Where have StackTrace and StackFrame gone?
这个类不在.NET Core中,但实现它是一项开放的任务:Implement System.Diagnostics.StackTrace/StackFrame - 只是没有人积极地处理它。
答案 2 :(得分:1)
作为一种解决方法,直到.Net Core 2.0可用,您可以按照回答How to split a stacktrace line into namespace, class, method file and line number?的建议解析Environment.StackTrace字符串 - 使用RegEx或StackTraceParser