示例#1
0
 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)
     { }
 }
示例#2
0
        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();
            }
        }