diff --git a/neo-cli/Shell/MainService.cs b/neo-cli/Shell/MainService.cs index 49c1b7c70..a9d7994a7 100644 --- a/neo-cli/Shell/MainService.cs +++ b/neo-cli/Shell/MainService.cs @@ -1250,19 +1250,22 @@ private bool OnUnInstallCommand(string[] args) } var pluginName = args[1]; - - if (!Plugin.Plugins.Any(u => u.Name == pluginName)) + var plugin = Plugin.Plugins.FirstOrDefault(p => p.Name == pluginName); + if (plugin is null) { Console.WriteLine("Plugin not found"); return true; } - if (Directory.Exists(Path.Combine("Plugins", pluginName))) + File.Delete(plugin.Path); + File.Delete(plugin.ConfigFile); + try + { + Directory.Delete(Path.GetDirectoryName(plugin.ConfigFile), false); + } + catch (IOException) { - Directory.Delete(Path.Combine("Plugins", pluginName), true); } - - File.Delete(Path.Combine("Plugins", $"{pluginName}.dll")); Console.WriteLine($"Uninstall successful, please restart neo-cli."); return true; }