Compartilhar via


Assembly Binding Log Viewer (Fuslogvw.exe)

Assembly Binding Log Viewer exibe detalhes para ligações de assembly. Essas informações ajudam a diagnosticar por que o .NET estrutura não é possível localizar um assembly em time de execução. Essas falhas geralmente são o resultado de um assembly implantado para o local errado, uma nativo imagem não é mais válida ou uma incompatibilidade em números de versão ou culturas. Falha do common linguagem tempo de execução ao localizar um assembly geralmente aparece sistema autônomo um TypeLoadException em seu aplicativo.

Para exibir o Sumário do Assembly Binding Log

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

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

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

  2. selecionar o Personalizado botão de opção para exibir BIND falhas 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 in the Configurações de log da caixa de diálogo para um nome de pasta válido. Este diretório deve ser limpa e contêm apenas arquivos que gera o tempo de execução. Se ele contiver um executável que gera uma falha ao efetuar logon, a falha não será registrada sistema autônomo a ferramenta tenta criar um diretório com o mesmo nome que o executável. Além disso, uma tentativa de executar um executável do local de log irá falhar.

    ObservaçãoObservação:

    O padrão BIND local é preferível personalizado BIND local. O tempo de execução armazena o padrão BIND local no cache wininet e, portanto, limpando-automaticamente check-out. Se você especificar um personalizado BIND local, você é responsável por limpá-lo para fora.

Para exibir detalhes sobre uma falha específica

  1. selecionar o nome do aplicativo de entrada desejada no visualizador.

  2. clicar no Exibir log botão. Como alternativa, você pode clicar duas vezes a entrada selecionada.

    A ferramenta exibe os detalhes sobre o selecionado BIND falha:

    • O motivo específico a BIND falharam, sistema autônomo "arquivo não encontrado" ou "versão incompatível".

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

    • A identidade do assembly a ferramenta está procurando.

    • Uma descrição de quaisquer diretivas versão aplicativo, publicador ou administrador que foram aplicadas.

    • Se o assembly foi encontrado no cache de assemblies global.

    • Uma lista de todas as URLs de probing.

A seguinte entrada de log de exemplo mostra informações detalhadas sobre um assembly com falha BIND.

** 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 de log

  1. selecionar uma entrada no visualizador.

  2. clicar no Excluir entrada botão.

Para excluir todas as entradas do log

  • clicar no Excluir tudo 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 botão para exibi-los.

Para alterar as configurações de log

  • clicar no Configurações botão para em em aberto o Configurações de log da caixa de diálogo.

Para exibir a caixa de diálogo sobre

  • clicar no Sobre botão.

Logs de ligação para nativo imagens

Por padrão, o conjunto normal registra Fuslogvw.exe BIND solicitações. Como alternativa, você pode log assembly vínculos para imagens nativas que foram criadas usando o Nativo imagem gerador (NGen.exe).

Para log assembly vínculos para imagens nativas

  • No Categorias de log agrupar, selecionar o nativo Imagens botão de opção.

O log seguinte mostra uma falha causada por uma dependência que não existia quando o nativo imagem foi criada para o aplicativo. Se as dependências em time de execução forem diferentes das dependências quando NGen.exe é executado, vinculando a uma nativo imagem 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 seguinte log mostra uma falha de vinculaçã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 Configurações de log da caixa de diálogo para executar as ações a seguintes.

Para desabilitar o registro

  • selecionar o Log desabilitado botão de opção. Observe que essa opção está selecionada por padrão.

Para log assembly vincula em exceções

  • selecionar o log no texto da exceção botão de opção.

    Consulte a importante Observação sobre assemblies que são carregados sistema autônomo domínio neutro.

Para log falhas de ligação de assembly

  • selecionar o Falhas de ligação log em disco botão de opção.

    Consulte a importante Observação sobre assemblies que são carregados sistema autônomo domínio neutro.

Para efetuar todos os assembly vincula

  • selecionar o Registrar todas as vincula ao disco botão de opção.

    Consulte a importante Observação sobre assemblies que são carregados sistema autônomo domínio neutro.

Observação importanteObservação importante:

Quando um conjunto é carregado sistema autônomo domínio neutro, por exemplo, definindo o LoaderOptimization propriedade para LoaderOptimization.MultiDomain ou LoaderOptimization.MultiDomainHost, ativando o registrar registrar registrar em log pode vazar memória em alguns casos. Isso pode acontecer se uma entrada de log é feita quando um módulo domain-neutral é carregado em um domínio do aplicativo e posteriormente que o domínio do aplicativo é descarregado. A entrada de log não pode ser liberada até que o processo termina. Alguns depuradores automaticamente ative o registrar registrar registrar em log.

Para ativar um caminho de log personalizado

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

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

ObservaçãoObservação:

O Assembly Binding Log Viewer (Fuslogvw.exe) usa o cache do Internet Explorer (IE) para armazenar seu log de ligação. Devido à corrupção ocasional no cache do Internet Explorer, a Assembly Binding Log Viewer (Fuslogvw.exe) às vezes, pode parar de mostrar novos logs de vinculação na janela de visualização. sistema autônomo resultado dessa corrupção, a infra-ligação estrutura do .NET (Fusion) não é possível gravar ou ler a partir do 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 que a Fusion mostrar os logs de ligação novamente, limpe o cache do IE, excluindo arquivos temporários de internet de dentro da caixa de diálogo Opções de Internet do IE.

Se os hosts do aplicativo não gerenciado a Common linguagem tempo de execução Implementando o IHostAssemblyManager e IHostAssemblyStore interfaces, entradas de log não podem ser armazenados no cache do wininet. Para exibir as entradas do log de hosts personalizados que implementam essas interfaces, você deve especificar um caminho de registro alternativo.

Consulte também

Conceitos

Cache global de assemblies

Como o Runtime Localiza Assemblies

Referência

Ferramentas.NET Framework

TypeLoadException

Prompt de comando SDK