我正在使用 MEF 编写 Visual Studio 扩展,我想知道如何将日志记录添加到代码中。在编写 VsPackage 时,可以使用MSDN中所示的“操作日志” 。但这在 MEF 扩展中是不可能的。
我应该如何进行日志记录?甚至可以使用 MEF 扩展写入 VS 访问日志吗?我应该使用 nlog 或类似工具进行自己的日志记录吗?
我正在使用 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;