我正在使用 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/

10-14 15:43
查看更多