Compartilhar via


Fuslogvw.exe (Assembly Binding Log Viewer)

O Assembly Binding Log Viewer exibe detalhes para ligações de assembly. Essa informação ajuda você a diagnosticar o motivo pelo qual o.NET Framework não pode localizar um assembly em tempo de execução. Essas falhas são geralmente o resultado de um assembly implantado para o local errado, uma imagem nativa que não é mais válida ou uma incompatibilidade em números de versão ou culturas. Falha do common language runtime para localizar um assembly geralmente aparece como um TypeLoadException em seu aplicativo.

Para exibir o conteúdo do Log de ligação de Assembly

O visualizador exibe uma entrada para cada ligação de assembly com falha. Para cada falha, o visualizador descreve o aplicativo que iniciou o bind; o assembly é vincular, incluindo nome, versão, cultura e chave pública; e a data e hora da falha.

Para alterar o modo de exibição de localização do log

  1. Selecione o padrão o botão de opção para exibir as falhas de ligação para todos os tipos de aplicativo. Por padrão, as entradas de log são armazenadas em disco no cache wininet diretórios por usuário.

  2. Selecione o personalizado o botão de opção para exibir as falhas de ligação em um diretório personalizado que você especificar. Você deve especificar o local personalizado, onde você deseja que o tempo de execução para armazenar os logs por definir o local de log personalizado na As configurações de Log caixa de diálogo para um nome de diretório válido. Este diretório deve ser limpa e conter apenas os arquivos que o tempo de execução gera. Se ela contiver um executável que gera uma falha de estar conectado, a falha não será registrada porque a ferramenta tenta criar um diretório com o mesmo nome do executável. Além disso, uma tentativa de executar um executável a partir do local de log irá falhar.

    Observação

    O local padrão do bind é preferível o local de ligação personalizada.O tempo de execução armazena o local padrão do bind no cache wininet e portanto automaticamente limpa-lo.Se você especificar um local de ligação personalizada, você é responsável pela limpeza-.

Para exibir detalhes sobre uma falha específica

  1. Selecione o nome do aplicativo na entrada desejada no visualizador.

  2. Clique o Exibir Log botão. Como alternativa, clique duas vezes a entrada selecionada.

    A ferramenta exibe os detalhes sobre a falha de ligação selecionado:

    • O motivo específico vincular falhou, como, por exemplo, "arquivo não encontrado" ou "incompatibilidade de versão".

    • Informações sobre o aplicativo que iniciou a vincular, incluindo seu nome, o diretório da raiz do aplicativo (AppBase) e uma descrição do caminho de pesquisa particular, se houver.

    • A identidade do assembly a ferramenta está procurando.

    • Uma descrição do aplicativo, Publisher ou administrador versão diretivas que foram aplicadas.

    • Se o assembly foi encontrado no global assembly cache.

    • Uma lista de todas as URLs de probing.

A entrada de log de exemplo a seguir mostra informações detalhadas sobre uma ligação de assembly com falha.

*** Assembly Binder Log Entry  (3/5/2007 @ 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\v2.0.50727\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.

Para excluir uma única entrada do log

  1. Selecione uma entrada no visualizador.

  2. Clique o Excluir entrada botão.

Para excluir todas as entradas do log

  • Clique o Delete All botão.

Para atualizar a interface do usuário

  • Clique no botão Atualizar. O visualizador não detecta automaticamente novas entradas de log enquanto ele estiver sendo executado. Você deve usar o Atualizar o botão para exibi-las.

Para alterar as configurações de log

  • Clique o configurações botão para abrir o As configurações de Log caixa de diálogo.

Para exibir a caixa de diálogo sobre

  • Clique o sobre botão.

Logs de vinculação de imagens nativas

Por padrão, o Fuslogvw.exe registra as solicitações de ligação de assembly normal. Como alternativa, você pode efetuar ligações de assembly para imagens nativas que foram criadas usando o NGen (Native Image Generator).

Para registrar o assembly vincula para imagens nativas

  • No Categorias de Log grupo, selecione o Imagens nativas o botão de opção.

O registro a seguir mostra uma falha causada por uma dependência que não existia quando a imagem nativa foi criada para o aplicativo. Se as dependências em tempo de execução diferem as dependências quando NGen. exe é executado, ligação a uma imagem nativa não é permitida.

*** Assembly Binder Log Entry  (12/8/2006 @ 5:22:07 PM) ***

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

Assembly manager loaded from:  E:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable  E:\test\App.exe
--- A detailed error log follows. 

LOG: Start binding of native image App, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: IL assembly loaded from E:\test\App.exe.
LOG: Start validating native image App, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: Start validating all the dependencies.
LOG: [Level 1]Start validating native image dependency mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
LOG: Dependency evaluation succeeded.
LOG: [Level 1]Start validating IL dependency b, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
WRN: Dependency assembly was not found at ngen time, but is found at binding time. Disallow using this native image.
WRN: No matching native image found.
LOG: Bind to native image assembly did not succeed. Use IL image.

O registro a seguir mostra uma falha de ligação de imagem nativa que ocorreram porque as configurações de segurança do computador quando o aplicativo foi executado eram diferentes das configurações de segurança no momento em que a imagem nativa foi criada.

*** Assembly Binder Log Entry  (12/8/2006 @ 5:29:09 PM) ***

The operation failed.
Bind result: hr = 0x80004005. Unspecified error

Assembly manager loaded from:  E:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable  E:\test\Application101622.exe
--- A detailed error log follows. 

LOG: Start binding of native image Application101622, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: IL assembly loaded from E:\test\Application101622.exe.
LOG: Start validating native image Application101622, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: Start validating all the dependencies.
LOG: [Level 1]Start validating native image dependency mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
LOG: Dependency evaluation succeeded.
LOG: [Level 1]Start validating IL dependency Dependency101622, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: Dependency evaluation succeeded.
LOG: Validation of dependencies succeeded.
LOG: Start loading all the dependencies into load context.
LOG: Loading of dependencies succeeded.
LOG: Bind to native image succeeded.
Native image has correct version information.
Attempting to use native image E:\Windows\assembly\NativeImages_v2.0.50727_64\Application101622\1ac7fadabec4f72575d807501e9fdc72\Application101622.ni.exe.
Rejecting native image because it failed the security check. The assembly's permissions must have changed since the time it was ngenned, or it is running with a different security context.
Discarding native image.

A caixa de diálogo de configurações de Log

Você pode usar o As configurações de Log caixa de diálogo para executar as ações a seguintes.

Para desabilitar o log

  • Selecione o registro desativado o botão de opção. Observe que essa opção é selecionada por padrão.

Para registrar o assembly vincula em exceções

  • Selecione o efetuar login no texto da exceção o botão de opção.

    Consulte a observação importante sobre assemblies são carregados como domínio neutro.

Para fazer o logon de falhas de ligação de assembly

  • Selecione o Log vincular falhas de disco o botão de opção.

    Consulte a observação importante sobre assemblies são carregados como domínio neutro.

Para registrar o assembly de todos os vínculos

  • Selecione o todos os vincula ao disco de Log o botão de opção.

    Consulte a observação importante sobre assemblies são carregados como domínio neutro.

Observação importanteImportante

Quando um conjunto é carregado como domínio neutro, por exemplo, definindo a LoaderOptimization propriedade para LoaderOptimization.MultiDomain ou LoaderOptimization.MultiDomainHost, ativando o log pode vazam memória em alguns casos.Isso pode acontecer se uma entrada de log é feita quando um módulo de domínio neutro é carregado em um domínio de aplicativo e posteriormente que o domínio de aplicativo é descarregado.A entrada de log não pode ser lançada até que o processo termina.Alguns depuradores ativar automaticamente o log.

Para ativar um caminho de log personalizado

  1. Selecione o Ativar log personalizado caminho o botão de opção.

  2. Digite o caminho para o caminho de log personalizado caixa de texto.

Observação

O Fuslogvw.exe (Assembly Binding Log Viewer) usa o cache do Internet Explorer (IE) para armazenar seu log de ligação.Devido à corrupção ocasional no cache do IE, o Fuslogvw.exe (Assembly Binding Log Viewer) pode às vezes interromper mostrando novos logs de ligação na janela de visualização.Como resultado dessa corrupção, o.A infra-estrutura de ligação de rede (fusion) não é possível gravar ou ler o log de ligação.(Esse problema não for encontrado se você usar um caminho de log personalizado.) Para corrigir a corrupção e permitir a fusão mostrar os logs de ligação novamente, limpe o cache de IE, excluindo os arquivos temporários da internet, de dentro da caixa de diálogo Opções de Internet do IE.

Se o seu aplicativo não gerenciado hospeda o common language runtime, Implementando o IHostAssemblyManager e IHostAssemblyStore interfaces, o log de entradas não podem ser armazenadas no cache wininet.Para exibir entradas de log para hosts personalizados que implementam essas interfaces, você deve especificar um caminho de registro alternativo.

Consulte também

Referência

TypeLoadException

Prompt de comando Visual Studio

Conceitos

Cache global de assemblies

Como o Runtime Localiza Assemblies

Outros recursos

Ferramentas.NET Framework