C# Domain Assembly Details

Assembly represents a reusable, versionable, and self-describing building block of a Common Language Runtime application. The System.Reflection namespace contains types that retrieve information about assemblies, modules, members, parameters, and other entities in managed code by examining their metadata.

System.Reflection.Assembly

We use the AppDomain.GetAssemblies method to retrieve an array of Assembly objects representing the assemblies currently loaded into an application domain.

AppDomain _appDomain = null; System.Reflection.Assembly[] myAssemblies = null; System.Reflection.Assembly myAssembly = null; _appDomain = AppDomain.CurrentDomain; myAssemblies = _appDomain.GetAssemblies();

Use the Assembly class to load assemblies, to explore the metadata and constituent parts of assemblies, to discover the types contained in assemblies, and to create instances of those types. The following C# program retrieves the assemblies that have been loaded into the execution context of this application domain.

Full Source C#
using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { AppDomain _appDomain = null; System.Reflection.Assembly[] myAssemblies = null; System.Reflection.Assembly myAssembly = null; _appDomain = AppDomain.CurrentDomain; myAssemblies = _appDomain.GetAssemblies(); foreach (System.Reflection.Assembly myAssembly_loopVariable in myAssemblies) { myAssembly = myAssembly_loopVariable; MessageBox.Show (myAssembly.FullName); } } } }