private void InitialPluginManager() { try { foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) { asm.GetTypes(); } //var path = Path.Combine(Directory.GetCurrentDirectory(), PluginFolder); var path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase ?? AppDomain.CurrentDomain.BaseDirectory, PluginFolder); _logger.Information("[PluginManager] Plugins now load from path: [{path}]", path); var folder = Directory.GetDirectories(path); foreach (var item in folder) { try { _logger.Information(LogConsts.SingleLine); var pathSplit = GetSplitPath(item); _logger.Information("[PluginManager] Load Plugin Folder: {folder}", pathSplit[^ 1]); Assembly pluginAssembly = LoadPlugin(item); var plugins = CreateCommands(pluginAssembly).ToList(); Plugin.AddRange(plugins); _logger.Information("[PluginManager] Loaded Plugin: {pluginName}", plugins?.FirstOrDefault()?.PluginName); }