Для этого можно использовать событие AssemblyLoad
на AppDomain.CurrentDomain
.
static void Main(string[] args)
{
AppDomain.CurrentDomain.AssemblyLoad += new AssemblyLoadEventHandler(CurrentDomain_AssemblyLoad);
Assembly.Load("ICSharpCode.SharpZipLib");
Console.WriteLine("Completed loading");
/*
* This produced:
Loaded assembly C:\Documents and Settings\...\ConsoleApplication2\bin\Debug\ICSharpCode.SharpZipLib.dll
Completed loading
*/
}
static void CurrentDomain_AssemblyLoad(object sender, AssemblyLoadEventArgs args)
{
Console.WriteLine("Loaded assembly " + args.LoadedAssembly.Location);
}
Обратите внимание, что это будет работать только для сборок, которые загружаются из точки, в которую вы добавляетесобытие.Например, mscorlib
уже загружен до вызова Main
, потому что это необходимо для запуска Main
.
Конечно, если вы создаете домен самостоятельно, вы можете добавить это событие раньшедомен запущен и вы должны увидеть все загруженные сборки.