Uso del registro de actividad
VSPackages puede escribir mensajes en el registro de actividad. Esta característica es especialmente útil para depurar VSPackages en entornos comerciales.
Sugerencia
El registro de actividad siempre está activado. Visual Studio mantiene un búfer gradual de las últimas 100 entradas, así como las primeras 10 entradas, que tienen información general de configuración.
Para escribir una entrada en el registro de actividad
Inserte este código en el método Initialize o en cualquier otro método excepto el constructor VSPackage:
IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog; if (log == null) return; int hr = log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_INFORMATION, this.ToString(), string.Format(CultureInfo.CurrentCulture, "Called for: {0}", this.ToString()));
Este código obtiene el servicio SVsActivityLog y lo convierte en una interfaz IVsActivityLog . LogEntry escribe una entrada informativa en el registro de actividad mediante el contexto cultural actual.
Cuando se carga VSPackage (normalmente cuando se invoca un comando o se abre una ventana), el texto se escribe en el registro de actividad.
Para examinar el registro de actividad
Ejecute Visual Studio con el modificador de línea de comandos /Log para escribir ActivityLog.xml en el disco durante la sesión.
Después de cerrar Visual Studio, busque el registro de actividad en la subcarpeta para los datos de Visual Studio:
*%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml
Abra el registro de actividad con cualquier editor de texto. Esta es una entrada típica:
Called for: Company.MyApp.MyAppPackage ...
Solución de problemas de importación y exportación en las extensiones del editor: acceso al registro de errores de composición de MEF
Al escribir una extensión basada en editor, puede experimentar problemas si intenta importar algo que no existe en la instalación actual de VS o si crea incorrectamente la importación o exportación. La forma principal de buscar y solucionar estos problemas es hacer referencia al registro de errores de composición de Managed Extensibility Framework (MEF), almacenado en %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err
. Para más información sobre el uso de MEF en las extensiones, consulte esta documentación.
Programación sólida
Dado que el registro de actividad es un servicio, el registro de actividad no está disponible en el constructor VSPackage.
Debe obtener el registro de actividad justo antes de escribirlo. No almacene en caché ni guarde el registro de actividad para su uso futuro.