Sage.Extensibility.ExtensionInfo.LoadAssemblies C# (CSharp) Method

LoadAssemblies() public method

public LoadAssemblies ( ) : void
return void
        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();
            }
        }