Sdílet prostřednictvím


Použití protokolu aktivit

Balíčky VSPackage můžou zapisovat zprávy do protokolu aktivit. Tato funkce je zvlášť užitečná pro ladění balíčků VSPackage v maloobchodních prostředích.

Tip

Protokol aktivit je vždy zapnutý. Visual Studio uchovává vyrovnávací paměť posledních 100 položek a prvních 10 položek, které mají obecné informace o konfiguraci.

Zápis položky do protokolu aktivit

  1. Vložte tento kód do metody Initialize nebo do jakékoli jiné metody s výjimkou konstruktoru 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()));
    

    Tento kód získá službu SVsActivityLog a přetypuje ji do rozhraní IVsActivityLog . LogEntry zapíše informační záznam do protokolu aktivit pomocí aktuálního kulturního kontextu.

  2. Při načtení balíčku VSPackage (obvykle při vyvolání příkazu nebo otevření okna) se text zapíše do protokolu aktivit.

Kontrola protokolu aktivit

  1. Spusťte sadu Visual Studio s přepínačem příkazového řádku /Log , který během relace zapíše ActivityLog.xml na disk.

  2. Po zavření sady Visual Studio vyhledejte protokol aktivit v podsložce pro data sady Visual Studio:

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

  3. Otevřete protokol aktivit v libovolném textovém editoru. Tady je typická položka:

    Called for: Company.MyApp.MyAppPackage ...
    

Řešení potíží s importem a exportem v rozšířeních editoru: Přístup k protokolu chyb složení MEF

Při psaní rozšíření založeného na editoru může docházet k problémům, pokud se pokusíte importovat něco, co v aktuální instalaci sady VS neexistuje, nebo pokud import nebo export nesprávně vytvoříte. Primárním způsobem, jak tyto problémy najít a vyřešit, je odkazovat na protokol chyb složení meF (Managed Extensibility Framework) uložený na %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.erradrese . Další informace o používání MEF ve vašich rozšířeních najdete v této dokumentaci.

Robustní programování

Vzhledem k tomu, že protokol aktivit je služba, protokol aktivit není v konstruktoru VSPackage k dispozici.

Protokol aktivit byste měli získat těsně před zápisem do protokolu aktivit. Neukládat do mezipaměti ani neukládat protokol aktivit pro budoucí použití.