Condividi tramite


Usare il log attività

I pacchetti VSPackage possono scrivere messaggi nel log attività. Questa funzionalità è particolarmente utile per il debug di pacchetti VSPackage in ambienti di vendita al dettaglio.

Suggerimento

Il log attività è sempre attivato. Visual Studio mantiene un buffer in sequenza delle ultime 100 voci, nonché le prime 10 voci, con informazioni generali sulla configurazione.

Per scrivere una voce nel log attività

  1. Inserire questo codice nel metodo Initialize o in qualsiasi altro metodo, ad eccezione del costruttore 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()));
    

    Questo codice ottiene il servizio SVsActivityLog ed esegue il cast a un'interfaccia IVsActivityLog . LogEntry scrive una voce informativa nel log attività usando il contesto culturale corrente.

  2. Quando il pacchetto VSPackage viene caricato (in genere quando viene richiamato un comando o viene aperta una finestra), il testo viene scritto nel log attività.

Per esaminare il log attività

  1. Eseguire Visual Studio con l'opzione della riga di comando /Log per scrivere ActivityLog.xml su disco durante la sessione.

  2. Dopo aver chiuso Visual Studio, trovare il log attività nella sottocartella per i dati di Visual Studio:

    *%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml

  3. Aprire il log attività con qualsiasi editor di testo. Ecco una voce tipica:

    Called for: Company.MyApp.MyAppPackage ...
    

Risoluzione dei problemi di Importazione/Esportazione nelle estensioni dell'editor: accedere al log degli errori di composizione MEF

Quando si scrive un'estensione basata su editor, è possibile che si verifichino problemi se si tenta di importare un elemento che non esiste nell'installazione corrente di Visual Studio o se si crea in modo non corretto l'importazione o l'esportazione. Il modo principale per trovare e risolvere questi problemi consiste nel fare riferimento al log degli errori di composizione MEF (Managed Extensibility Framework), archiviato in %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err. Per altre informazioni sull'uso di MEF nelle estensioni, vedere questa documentazione.

Programmazione efficiente

Poiché il log attività è un servizio, il log attività non è disponibile nel costruttore VSPackage.

È necessario ottenere il log attività subito prima di scrivervi. Non memorizzare nella cache o salvare il log attività per un uso futuro.