private PluginArchive(ZipArchive archive) { if (archive == null) { throw new ArgumentNullException(nameof(archive)); } var sw = new Stopwatch(); _archive = archive; _index = new PluginPackageIndex(); _assemblyCache = new Dictionary <ZipArchiveEntry, Assembly>(); var index = _archive.GetEntry(IndexEntryName); if (index == null) { throw new CorruptPluginException(string.Format("Plugin is missing {0}", IndexEntryName)); } using (var stream = index.Open()) using (var reader = new StreamReader(stream)) { var serializer = new XmlSerializer(typeof(PluginPackageIndex)); sw.Restart(); _index = serializer.Deserialize(reader) as PluginPackageIndex; } sw.Stop(); Console.WriteLine("Deserialize index: {0}ms", sw.ElapsedMilliseconds); }
public EmptyPluginArchive() { _index = new PluginPackageIndex { PluginArchiveVersion = PluginArchive.CurrentPluginArchiveVersion }; }
private PluginArchive(ZipArchive archive) { if (archive == null) { throw new ArgumentNullException(nameof(archive)); } var sw = new Stopwatch(); _archive = archive; _index = new PluginPackageIndex(); _assemblyCache = new Dictionary <ZipArchiveEntry, Assembly>(); var index = _archive.GetEntry(IndexEntryName); if (index == null) { throw new CorruptPluginException(string.Format("Plugin is missing {0}", IndexEntryName)); } using (var stream = index.Open()) { sw.Restart(); _index = PluginPackageIndex.Deserialize(stream); } sw.Stop(); Log.DebugFormat("Deserialize index took: {0}ms", sw.ElapsedMilliseconds); }
public EmptyPluginArchive(Version pluginVersion) { _index = new PluginPackageIndex { PluginArchiveVersion = PluginArchive.CurrentPluginArchiveVersion, Version = pluginVersion.ToString() }; }
public EmptyPluginArchive(PluginId id, Version pluginVersion) { _index = new PluginPackageIndex { Id = id.Value, PluginArchiveVersion = PluginArchive.CurrentPluginArchiveVersion, Version = pluginVersion.ToString() }; }
private PluginPacker(ZipArchive archive) { if (archive == null) { throw new ArgumentNullException(nameof(archive)); } _archive = archive; _index = new PluginPackageIndex { PluginArchiveVersion = PluginArchive.CurrentPluginArchiveVersion, Assemblies = new List <AssemblyDescription>(), NativeImages = new List <NativeImageDescription>(), Version = new Version(0, 0, 0).ToString() }; }