C# 堆栈跟踪不返回行号和文件名

C# 堆栈跟踪不返回行号和文件名,c#,stack-trace,C#,Stack Trace,我正在处理写入异常,但文件名返回null,行号返回0。我打开任何其他项目,它都会成功运行。我认为这与调试设置有关。如何更改项目设置以响应代码 public static void WriteUnexpectedErrors(Exception ex) { StackTrace trace = new StackTrace(ex, true); string fileName = trace.GetFrame(0).GetFileName(); int lineNo = t

我正在处理写入异常,但文件名返回null,行号返回0。我打开任何其他项目,它都会成功运行。我认为这与调试设置有关。如何更改项目设置以响应代码

public static void WriteUnexpectedErrors(Exception ex)
{
    StackTrace trace = new StackTrace(ex, true);
    string fileName = trace.GetFrame(0).GetFileName();
    int lineNo = trace.GetFrame(0).GetFileLineNumber();
}
这段代码产生了一些结果,但上面的代码不起作用,尤其是GetFrame(0).GetFileName()


在项目属性的“生成”选项卡上的“高级设置”中,检查调试信息。确保调试信息设置设置为
full
pdb only


您是否将PDB文件与EXE一起部署?是的,我在bin/debug文件中看到了一个。请检查您的值以了解
。如果为false,请为您的本地环境将其更改为true,但我正在使用console应用程序。如何为app.config编写,但
full
pdb only
都没有给出文件名和行号
foreach (var frame in trace.GetFrames())
                {
                    if (!string.IsNullOrEmpty(frame.GetFileName()))
                    {
                        Console.WriteLine(frame.GetFileName());
                    }
                    if (frame.GetFileLineNumber() > 0)
                    {
                        Console.WriteLine(frame.GetFileLineNumber());
                    }
                }