bry*_*ook 6 c# portable-class-library
我很惊讶地发现System.Diagnostics.Trace未包含在可移植类库配置文件中.但是,System.Diagnostics.Debug可用.
我正在将库移植到PCL,并且通常使用Trace语句为消费者提供额外的故障排除.出于性能原因,我希望对程序集进行优化,因此我只在NuGet包中发布程序集的Release版本.
我的理解是System.Diagnostics.Debug的方法是有条件编译的,因此仅在程序集包含DEBUG指令时才有用.
如果我更改我的代码以使用System.Diagnostics.Debug然后在Release中编译该方法是没用的 - 在PCL中是否有System.Diagnostics.Trace的替代方法,或者我是否必须在我的发布版本中包含DEBUG指令?或者我应该考虑另一种方法吗?
有一个nuget包:
https://www.nuget.org/packages/System.Diagnostics.TraceSource
https://www.nuget.org/packages/System.Diagnostics.Tracing/4.0.21-beta-23516
这是微软用于跟踪的新PCL.
到目前为止似乎处于测试阶段......
您可以在单个 C# 文件中指定条件编译指令。因此,您可以围绕 Debug.Trace 创建自己的包装器,并仅为该代码文件定义 DEBUG 指令,这将允许您从发布 DLL 调用 Debug.Trace。