如何在编写Visual Studio MEF扩展时进行日志记录

时间:2013-05-01 14:33:04

标签: visual-studio logging mef visual-studio-extensions

我正在使用MEF编写Visual Studio扩展,我想知道如何在代码中添加日志记录。 在编写VsPackage时,可以使用MSDN中显示的“操作日志”。但这在MEF扩展中是不可能的。

我该如何记录?甚至可以使用MEF扩展名写入VS访问日志吗?我应该使用nlog或类似的方式进行自己的日志记录。

1 个答案:

答案 0 :(得分:4)

您仍然可以使用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;