예제 #1
0
        private static void LoadPackages()
        {
            foreach (var file in Directory.GetFiles(packFolder))
            {
                if (!file.ToLower().EndsWith(".zip"))
                {
                    continue;
                }

                try
                {
                    packages.Add(PluginPackage.FromArchive(file));
                    Trace.WriteLine("Loading archive '" + Path.GetFileName(file) + "'.");
                }
                catch (FileNotFoundException e)
                {
                    Trace.WriteLine("Error in: '" + Path.GetFileName(file) + "': '" + e.FileName + "' is missing from the archive.");
                }
                catch (Exception e)
                {
                    Trace.WriteLine("Error in: '" + Path.GetFileName(file) + "': " + e);
                }
            }

            foreach (var directory in Directory.GetDirectories(packFolder))
            {
                if (!directory.ToLower().EndsWith(".zip"))
                {
                    continue;
                }

                try
                {
                    packages.Add(PluginPackage.FromDirectory(directory));
                    Trace.WriteLine("Loading directory '" + Path.GetFileName(directory) + "'.");
                }
                catch (FileNotFoundException e)
                {
                    Trace.WriteLine("Error in: '" + Path.GetFileName(directory) + "': '" + e.FileName + "' is missing from the directory.");
                }
                catch (Exception e)
                {
                    Trace.WriteLine("Error in: '" + Path.GetFileName(directory) + "': " + e);
                }
            }
        }
예제 #2
0
 public static PluginPackage FromArchive(String file)
 {
     return(PluginPackage.FromArchive(ZipFile.Read(file)));
 }