public void Load(string url) { System.IO.Stream loadStream = Io.Manager.Instance.Open(url); if (loadStream != null) { Assembly pluginAssembly = LoadAssembly(loadStream); IPlugin pluginInterface = GetPluginInterface(pluginAssembly); if (pluginInterface != null) { if (!loadedAssemblies.ContainsKey(pluginInterface.Name)) { if (pluginInterface.OnLoad(new Information.License(), new Information.Version(), new Information.Platform())) { loadedAssemblies.Add(pluginInterface.Name, pluginAssembly); log.BeginMessage(Proteus.Kernel.Diagnostics.LogLevel.Info); log.MessageContent("Plugin [{0}] loaded successfully.", url); log.MessageContent("Name: {0}", pluginInterface.Name); log.MessageContent("Description: {0}", pluginInterface.Description); log.MessageContent("Copyright: {0}", pluginInterface.Copyright); log.EndMessage(); } } } } }