C# 伐木及;追踪

C# 伐木及;追踪,c#,vb.net,logging,roslyn,trace,C#,Vb.net,Logging,Roslyn,Trace,如何向分析仪添加跟踪和日志记录?您可能不知道,我一直在经历一个问题,即如何使我的分析仪在实验实例中工作,而不是在正常实例中工作。因此,我正在考虑添加跟踪和日志记录,以便在正常实例中运行时进行检查 您对此有何建议和建议? 在桌面应用程序中,我可以实现一个顶级异常处理程序,但由于分析器是Visual Studio的独立“插件”模块,所以我可以在任何可以实现这种方法的地方看到它 我认为我可以使用ETW(最初需要管理员权限来创建事件源),但我担心这对可移植类不可用 我试过了 Debug.Write Co

如何向分析仪添加跟踪和日志记录?您可能不知道,我一直在经历一个问题,即如何使我的分析仪在实验实例中工作,而不是在正常实例中工作。因此,我正在考虑添加跟踪和日志记录,以便在正常实例中运行时进行检查

您对此有何建议和建议? 在桌面应用程序中,我可以实现一个顶级异常处理程序,但由于分析器是Visual Studio的独立“插件”模块,所以我可以在任何可以实现这种方法的地方看到它

我认为我可以使用ETW(最初需要管理员权限来创建事件源),但我担心这对可移植类不可用

我试过了

Debug.Write
Console.Write
但是我在哪里可以看到VS中的输出?如果它确实输出文本,它(给我)就会在其他输出文本的噪音中丢失

输出到我的文档中的文件(没有管理员权限)可以工作,但是如何创建文件呢

附加的 可移植类的目标是

.NET Framework 4.5
Windows 8

通常使用跟踪侦听器将跟踪信息写入文件。在这里,您可以阅读跟踪信息,无需VS。这里有一个很好的介绍:

请在此处阅读有关如何使用跟踪侦听器的说明。你会发现你需要大量阅读,它相当复杂,并且有一些局限性。我发现最令人恼火的是,它对于近实时跟踪来说太慢了,而且跟踪问题导致的异常会在跟踪调用方的线程上抛出。这是人们最不希望看到的,因为跟踪而出现异常。由于您的特殊需要,您可能会发现其他问题

出于这些原因,我编写了自己的跟踪类,可以与任何.NET技术一起使用。这是可靠的代码,我用了很多年了。您可以在以下网站找到详细的使用说明:
Debug.Write将被写入。@Bjørn RogerKringsjå不是
Debug.Write
Release
模式下跳过?对于发布配置,使用
Trace class
@HamletHakobyan What
Trace class
?考虑到便携类的目标,它对我可用吗?@AdamSpeight是的,然后使用哈姆雷特所说的
Trace
。输出到同一窗口。