public List <PluginLoader.LoadedPlugin> LoadPlugins() { RemoveExtractedPluginFolders(); var pluginFiles = Root .GetFiles("*.plugin") .Select(fi => fi.FullName) .ToList(); if (!pluginFiles.Any()) { throw new ExpectedException($"You need to have at least one local *.plugin file at '{Root.FullName}'"); } var loadedPlugins = new PluginLoader { Log = Log4NetLogger.Create(Log), Verbose = Verbose } .LoadPlugins(pluginFiles); var jsonPlugin = loadedPlugins .FirstOrDefault(lp => IsJsonPlugin(lp.Manifest)); if (jsonPlugin != null) { var result = AssemblyQualifiedNameParser.Parse(jsonPlugin.Manifest.AssemblyQualifiedTypeName); JsonPluginVersion = AquariusServerVersion.Create(result.Version); JsonPluginPath = jsonPlugin.Path; } return(loadedPlugins); }
protected virtual string FormatType(string assemblyQualifiedName) { var parser = new AssemblyQualifiedNameParser(); var qualifiedName = parser.Parse(assemblyQualifiedName); var formatString = new StringBuilder("T"); if (Settings.IncludeAssemblyVersionWithType) { formatString.Append('V'); } if (Settings.IncludeAssemblyCultureWithType) { formatString.Append('C'); } if (Settings.IncludeAssemblyKeyWithType) { formatString.Append('K'); } return(qualifiedName.ToString(formatString.ToString())); }