public void LoadAssemblies()
{
if (isLoaded)
return;
FileStream fs = File.OpenRead(this.ArchiveFileName);
ZipFile extensionArchive = new ZipFile(fs);
try
{
assemblies = new List<Assembly>();
foreach (ExtensionFile[] assemblyPair in this.AssemblyFiles)
{
ExtensionFile dll = assemblyPair[0];
ExtensionFile pdb = assemblyPair[1];
Assembly extensionAssembly = pdb != null
? Assembly.Load(dll.Read(extensionArchive), pdb.Read(extensionArchive))
: Assembly.Load(dll.Read(extensionArchive));
assemblies.Add(extensionAssembly);
}
isLoaded = true;
}
finally
{
extensionArchive.Close();
fs.Close();
}
}