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); } } }
public static PluginPackage FromArchive(String file) { return(PluginPackage.FromArchive(ZipFile.Read(file))); }