문제

.NET에는 어셈블리를 활성화 할 수있는 방법이 있습니까? 디버거 아래에서 실행하는 동안 "로드 된 '어셈블리 X'"와 같은 멋진 메시지를 제공하지만 디버거 외부의 실행중인 응용 프로그램의 조립 로그를 얻고 싶습니다.

나는 내 응용 프로그램에서 다양한 것들을 추적하고 있으며 기본적으로 특정 어셈블리를 트리거 할 어떤 행동이 어떤 행동을로드할지 알고 싶습니다.

도움이 되었습니까?

해결책

응용 프로그램의 앱 도메인을 가져 와서 AssemblyLoad 이벤트에 첨부하십시오.

예 (C#) :

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

다른 팁

Fusion Log Viewer는 친구입니다.

편집] 실제로 이것은 너무 맨 위에있을 수 있습니다. AssemblyResolve 이벤트도 좋습니다 [편집

MS Visual Studio에는이 기능이 내장되어 있습니다.

MS Visual Studio의 출력 창의 문맥 메뉴에서 '모듈로드 메시지'를 선택하면 다음과 같은 내용이 표시됩니다.

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'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top