Hook into DomainUnload event : Assembly « Reflection « VB.Net

Hook into DomainUnload event


Imports System.Reflection

Module Program

    Sub Main()
        Dim anotherAD As AppDomain = AppDomain.CreateDomain("SecondAppDomain")
        ' Load CarLibrary.dll into this new appdomain.
        ' Hook into DomainUnload event.
        AddHandler anotherAD.DomainUnload, AddressOf anotherAD_DomainUnload

        ' Now unload anotherAD.

    End Sub
    Public Sub PrintAllAssembliesInAppDomain(ByVal ad As AppDomain)
        Dim loadedAssemblies As Assembly() = ad.GetAssemblies()
        For Each a As Assembly In loadedAssemblies
            Console.WriteLine("-> Name: {0}", a.GetName.Name)
            Console.WriteLine("-> Version: {0}", a.GetName.Version)
    End Sub

    Sub anotherAD_DomainUnload(ByVal sender As Object, ByVal e As EventArgs)
        Console.WriteLine("***** Unloaded anotherAD! *****")
    End Sub

    Sub defaultAD_ProcessExit(ByVal sender As Object, ByVal e As EventArgs)
        Console.WriteLine("***** Unloaded defaultAD! *****")
    End Sub

End Module


Related examples in the same category

1.Add all Public Assembly Form TypeAdd all Public Assembly Form Type
2.View all Assembly Form Type in a TreeView all Assembly Form Type in a Tree
3.View all Assembly Form Type and its members in a Tree
4.Find Members with Binding FlagsFind Members with Binding Flags
5.Get Assembly Member type: Property or Member Get Assembly Member type: Property or Member
6.Load all Types in one AssemblyLoad all Types in one Assembly
7.Get Class Name in Current AssemblyGet Class Name in Current Assembly
8.Get Executing AssemblyGet Executing Assembly
9.Get Information from AssemblyGet Information from Assembly
10.Get info for current AppDomain
11.Programmatically make a new app domain
12.Assembly Class represents an assembly
13.The AssemblyName type can be used to parse the full name
14.Create an object from the assembly, passing in the correct number and type of arguments for the constructor
15.Get the version of the executing assembly (that is, this assembly).
16.Get the version of the current application.
17.Get the version of a specific assembly.
18.Using AssemblyVersionAttribute
19.Create AssemblyName class with the specified display name.
20.AssemblyName.GetAssemblyName gets the AssemblyName for a given file.
21.AssemblyName.Version gets or sets the major, minor, build, and revision numbers of the assembly.
22.Assembly.FullName gets the display name of the assembly.
23.Assembly.GetCallingAssembly returns the Assembly of the method that invoked the currently executing method.
24.Assembly.GetExecutingAssembly gets the assembly that contains the code that is currently executing.
25.Assembly.GetExportedTypes gets the public types defined in this assembly that are visible outside the assembly.
26.Assembly.GetTypes gets the types defined in this assembly.
27.Assembly.IsDefined tells whether or not a specified attribute has been applied to the assembly.
28.Assembly.Load loads an assembly given the long form of its name.
29.Assembly.Location Property gets the path or UNC location of the loaded file that contains the manifest.
30.The version of mscorlib.dll