Pergunta

No .NET existe uma maneira de permitir Assembly.Load traçado? Eu sei que durante a execução sob o depurador dá-lhe uma bela mensagem como "carregado 'de montagem X'" mas eu quero obter um log das cargas de montagem da minha aplicação rodando fora do depurador, de preferência misturados com minhas mensagens de log Debug / rastreamento.

Eu estou traçando várias coisas na minha candidatura e eu, basicamente, quer saber o que ação desencadeou uma assembléia especial a ser carregado.

Foi útil?

Solução

Obter o AppDomain para a sua aplicação e anexar ao evento AssemblyLoad.

Exemplo (C #):

AppDomain.CurrentDomain.AssemblyLoad += new AssemblyLoadEventHandler(OnAssemblyLoad);

Outras dicas

Fusão Log Viewer é seu amigo.

[editar] Na verdade, isso pode ser muito mais alto, o evento AssemblyResolve é muito bom [editar]

MS Visual Studio possui essa funcionalidade incorporada.

Selecionar 'load module Mensagens' no menu de contexto da janela de saída em MS Visual Studio e ele irá exibir algo como:

Loaded 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'
Loaded 'C:\projects\trunk\bin\Tester.exe', Symbols loaded.
Loaded 'C:\projects\trunk\bin\log4net.dll'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top