public static void LoadAssembly(FileDescriptor assemblyFile) { try { Assembly assembly = Assembly.LoadFrom(assemblyFile.GetAbsolutePath()); foreach (Type type in assembly.GetTypes()) { if (!string.IsNullOrWhiteSpace(type.Namespace) && Array.IndexOf(NamespaceBlacklist, type.Namespace) == -1) { UInt32 key = type.Namespace.Fnv32(); List <FileDescriptor> result; if (!assemblies.TryGetValue(key, out result)) { result = new List <FileDescriptor>(); assemblies.Add(key, result); } if (!result.Contains(assemblyFile)) { result.Add(assemblyFile); } } } } catch (ReflectionTypeLoadException) { } catch (BadImageFormatException) { } }
public void CreateFile() { using (FileStream fs = new FileStream(file.GetAbsolutePath(), FileMode.Create, FileAccess.Write, FileShare.Read)) { StreamWriter sw = new StreamWriter(fs); SetFileHeader(sw); SetContentEntries(sw); SetProjectEntries(sw); SetGlobals(sw); sw.Flush(); sw.Close(); } }