Вы можете использовать комбинацию инструментов, создав простое консольное приложение.
Создайте новое консольное приложение и установите пакет «Nuget.Core».
Добавьте следующий метод, чтобы получить список всех версий пакета:
private static IEnumerable<IPackage> GetListedPackages(string packageID)
{
var repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2");
var packages = from package in repo.FindPackagesById(packageID)
where package.IsListed()
select package;
return packages;
}
Затем скопируйте nuget.exe
из папки ".nuget" в одном из ваших проектов в проект консольного приложения (добавьте его в обозреватель решений и убедитесь, что он скопирован в выходной каталог)
Далее создайте новый метод, который использует nuget.exe
для отмены выбора версии пакета:
private static string UnlistPackage(IPackage package, string apiKey)
{
var arguments = $"delete {package.Id} {package.Version} -ApiKey {apiKey} -NonInteractive";
var psi = new ProcessStartInfo("nuget.exe", arguments)
{
RedirectStandardOutput = true,
WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory,
UseShellExecute = false
};
var process = Process.Start(psi);
process.WaitForExit();
return process.StandardOutput.ReadToEnd();
}
Наконец, измените метод Main, чтобы он получал список и удалял все версии:
private static void Main(string[] args)
{
var packageID = "yourPackageName";
var apiKey = "yourKeyFromNugetOrg";
var packages = GetListedPackages(packageID);
foreach (var package in packages)
{
Console.WriteLine("Unlisting package " + package);
var output = UnlistPackage(package, apiKey);
Console.WriteLine(output);
}
Console.Write("Completed. Press ENTER to quit.");
Console.ReadLine();
}
источник: http://blog.gauffin.org/2016/09/how-to-remove-a-package-from-nuget-org/