我正在使用 MEF 编写 Visual Studio 扩展,我想知道如何将日志记录添加到代码中。
在编写 VsPackage 时,可以使用 MSDN 中所示的“操作日志”。但这在 MEF 扩展中是不可能的。
我应该如何进行日志记录?甚至可以使用 MEF 扩展写入 VS 访问日志吗?我应该使用 nlog 或类似的方法来做我自己的日志记录吗?
最佳答案
您仍然可以使用 IVsActivityLog
。唯一改变的是您访问 IVsActivityLog
实例的方式。取而代之的是:
IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog;
您将首先
[Import]
SVsServiceProvider
:[Import] internal SVsServiceProvider ServiceProvider = null;
然后你可以调用
IServiceProvider.GetService
:IVsActivityLog log = ServiceProvider.GetService(typeof(SVsActivityLog)) as IVsActivityLog;
关于visual-studio - 编写 Visual Studio MEF 扩展时如何进行日志记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16320104/