public void LoadAssembly (string assemblyPath) { var readerParameters = new ReaderParameters { ReadSymbols = true }; var def = AssemblyDefinition.ReadAssembly (assemblyPath, readerParameters); var assembly = new AssemblyMirror (); assembly.FullName = def.FullName; assembly.Metadata = def; assemblies.Add (assembly); if (AssemblyLoaded != null) AssemblyLoaded (new AssemblyEvent (assembly)); if (TypeLoaded == null) return; foreach (var t in def.MainModule.Types.Where (x => x.FullName != "<Module>")) { var type = new TypeMirror (); type.Assembly = assembly; type.FullName = t.FullName; type.Name = t.Name; type.MetadataToken = t.MetadataToken.ToInt32 (); type.Metadata = t; TypeLoaded (new TypeEvent (type)); } }