C# 生产线编号在NLog日志中消失

C# 生产线编号在NLog日志中消失,c#,.net-4.5,nlog,C#,.net 4.5,Nlog,我使用${callsite}参数配置了NLog布局,使其具有方法名和行号,并且它在本地运行良好,如下所示 Application_Start(Global.asax.cs:33) 但它正在变为应用程序启动,生产中没有行号。我想这是因为它无法访问没有.pdb文件的行号,但我使用的是.NET4.5,它可以通过调用方属性访问行号,而不需要.pdb文件。据我所知,NLog尚未针对.NET 4.5进行优化 有没有一种方法可以将.NET 4.5的行号与NLog一起投入生产?NLog不使用.NET 4.5中

我使用${callsite}参数配置了NLog布局,使其具有方法名和行号,并且它在本地运行良好,如下所示

Application_Start(Global.asax.cs:33)
但它正在变为
应用程序启动
,生产中没有行号。我想这是因为它无法访问没有.pdb文件的行号,但我使用的是.NET4.5,它可以通过调用方属性访问行号,而不需要.pdb文件。据我所知,NLog尚未针对.NET 4.5进行优化


有没有一种方法可以将.NET 4.5的行号与NLog一起投入生产?

NLog不使用.NET 4.5中的新属性

它使用类

这是显而易见的


因此,行号需要.pdb文件。

Ship pdb文件显然是一个解决方案。你能这样做吗?这不会造成性能开销吗?我不这么认为,只是发送文件。如果打开了大量跟踪级别日志记录,则会产生开销。仅供参考,NLog中不支持调用方信息属性,因为这将是一个突破性的更改(以及在添加更多调用方信息属性时的另一个突破性更改)