Condividi tramite


Visualizzatore log associazione assembly (Fuslogvw.exe)

Il Visualizzatore log associazione assembly consente di visualizzare i dettagli relativi alle associazioni di assembly. Queste informazioni consentono di diagnosticare per quale motivo non sia possibile individuare un assembly in fase di esecuzione. Gli errori individuati sono solitamente dovuti alla distribuzione di un assembly in un percorso errato oppure alla mancata corrispondenza di lingue o numeri di versione. L'impossibilità di Common Language Runtime di individuare un assembly produce solitamente un'eccezione TypeLoadException.

Per visualizzare il contenuto del registro associazione assembly

Nel visualizzatore è riportata una voce per ciascuna associazione di assembly non riuscita. Per ciascun errore vengono descritti l'applicazione che ha avviato l'associazione, l'assembly interessato, inclusi il nome, la versione, la lingua e la chiave pubblica, nonché la data e l'ora dell'errore.

Per modificare la visualizzazione del percorso del registro

  1. Selezionare il pulsante di opzione Default (Predefinito) per visualizzare gli errori di associazione per tutti i tipi di applicazione. Per impostazione predefinita, le voci di log vengono archiviate in directory specifiche per utente su disco, nella cache di wininet.

  2. Selezionare il pulsante di opzione Custom per visualizzare gli errori di associazione in una directory personalizzata specificata. È necessario specificare il percorso personalizzato in cui devono essere archiviati i log impostando il percorso di log personalizzato su un nome di directory valido nella finestra di dialogo Log Settings (Impostazioni log). Tale directory deve essere pulita e contenere solo file generati dal runtime. Se contiene un file eseguibile che genera un errore da registrare, l'errore non verrà registrato poiché lo strumento cercherà di creare una directory con lo stesso nome del file eseguibile. Inoltre, il tentativo di esecuzione di un eseguibile dal registro avrà esito negativo.

    Nota

    È preferibile utilizzare il percorso di associazione predefinito anziché quello personalizzato. Il runtime memorizza il percorso di associazione predefinito nella cache di wininet e rimuove tali informazioni automaticamente. Se si specifica un percorso di associazione personalizzato la pulitura dovrà essere eseguita manualmente.

Per visualizzare i dettagli relativi a un errore specifico

  1. Nel visualizzatore selezionare il nome dell'applicazione dalla voce desiderata.

  2. Fare clic sul pulsante Visualizza file di log. In alternativa è possibile fare doppio clic sulla voce selezionata.

    Nello strumento vengono visualizzati i seguenti dettagli relativi all'errore di associazione selezionato:

    • Causa specifica dell'errore, ad esempio irreperibilità del file o incompatibilità di versioni.

    • Informazioni sull'applicazione con cui è stata avviata l'associazione, inclusi il nome, la directory principale dell'applicazione (AppBase) e una descrizione del percorso di ricerca privato, se presente.

    • Identità dell'assembly cercato.

    • Descrizione dei criteri di controllo delle versioni applicati a livello di applicazione, editore o amministratore.

    • Provenienza o meno dell'assembly dalla Global Assembly Cache.

    • Elenco di tutti gli URL di ricerca.

Nell'esempio riportato di seguito viene illustrata una voce del registro in cui sono visualizzate informazioni dettagliate su un'associazione di assembly non riuscita.

** Assembly Binder Log Entry (3/5/2002 @ 12:54:20 PM) **

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\WINNT\Microsoft.NET\Framework\v1.0.3705\fusion.dll
Running under executable  C:\Program Files\Microsoft.NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\graphic\cs\graphicfailtest.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = C:\Program Files\Microsoft.NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\graphic\cs\
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : graphicfailtest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
===

LOG: Processing DEVPATH.
LOG: DEVPATH is not set. Falling through to regular bind.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources/graphicfailtest.resources.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/en-US/graphicfailtest.resources/graphicfailtest.resources.EXE.
LOG: All probing URLs attempted and failed.

Per eliminare una singola voce dal registro

  1. Selezionare una voce nel visualizzatore.

  2. Fare clic sul pulsante Elimina voce.

Per eliminare tutte le voci dal registro

  • Fare clic sul pulsante Elimina tutto.

Per aggiornare l'interfaccia utente

  • Scegliere il pulsante Aggiorna. Il visualizzatore non rileva automaticamente le nuove voci di registro quando è in esecuzione. Per visualizzarle è necessario fare clic sul pulsante Aggiorna.

Per modificare le impostazioni del log

  • Scegliere il pulsante Settings (Impostazioni) per visualizzare la finestra di dialogo Log Settings (Impostazioni log).

Per visualizzare la finestra di dialogo About

  • Scegliere il pulsante About (Informazioni su).

Finestra di dialogo Log Settings

È possibile utilizzare la finestra di dialogo Log Settings (Impostazioni log) per definire le seguenti impostazioni.

Per disattivare la registrazione

  • Selezionare il pulsante di opzione Log disabled (Log disattivato). Questa opzione è selezionata per impostazione predefinita.

Per registrare le associazioni di assembly in eccezioni

  • Selezionare il pulsante di opzione Log in exception text (Registra nel testo dell'eccezione).

    Vedere la nota Importante relativa agli assembly caricati come indipendenti dal dominio.

Per registrare gli errori di associazione di assembly

  • Selezionare il pulsante di opzione Log bind failures to disk (Registra errori di associazione su disco).

    Vedere la nota Importante relativa agli assembly caricati come indipendenti dal dominio.

Per registrare tutte le associazioni di assembly

  • Selezionare il pulsante di opzione Log all binds to disk (Registra tutte le associazioni su disco).

    Vedere la nota Importante relativa agli assembly caricati come indipendenti dal dominio.

Importante

Quando un assembly viene caricato come indipendente dal dominio, ad esempio impostando la proprietà LoaderOptimization su System.LoaderOptimization.MultiDomain o System.LoaderOptimization.MultiDomainHost, l'attivazione della registrazione può determinare una perdita di memoria in alcuni casi. Ciò può verificarsi se si crea una voce di log quando in un dominio applicazione viene caricato un modulo indipendente dal dominio e successivamente il dominio applicazione viene scaricato. È possibile che la voce di log non venga rilasciata fino alla fine del processo. Alcuni debugger prevedono l'attivazione automatica della registrazione.

Per impostare un percorso di log personalizzato

  1. Selezionare il pulsante di opzione Enable custom log path (Attiva percorso personalizzato log).

  2. Immettere il percorso nella casella di testo Custom log path (Percorso personalizzato log).

Nota

Per l'archiviazione del registro associazione di Visualizzatore log associazione assembly (Fuslogvw.exe) viene utilizzato Internet Explorer. In seguito al danneggiamento occasionale della cache di Internet Explorer, è possibile che in Visualizzatore log associazione assembly (Fuslogvw.exe) non vengano più visualizzati nuovi registri associazione nella finestra di visualizzazione. In tali circostanze l'infrastruttura di associazione di .NET (fusion) non è in grado di eseguire operazioni di scrittura o lettura dal registro associazione. Questo problema non viene rilevato se si utilizza un percorso personalizzato per il registro. Per correggere il problema che ha causato il danneggiamento e riattivare la visualizzazione dei registri associazione in fusion, cancellare la cache di Internet Explorer eliminando i file temporanei Internet nella finestra di dialogo Opzioni Internet del programma.

Se l'applicazione non gestita ospita Common Language Runtime mediante l'implementazione delle interfacce IHostAssemblyManager e IHostAssemblyStore, le voci di logo non possono essere memorizzate nella cache wininet. Per visualizzare le voci di log di host personalizzati che implementano tali interfacce, è necessario specificare un percorso alternativo per il log.

Vedere anche

Riferimenti

Strumenti di .NET Framework
TypeLoadException Class
Prompt dei comandi di SDK

Concetti

Global Assembly Cache
Come il runtime individua gli assembly