public void UninstallPackage(IPackageDetails package)
{
Argument.IsNotNull(() => package);
Argument.IsOfType(() => package, typeof (PackageDetails));
var dependentsResolver = new DependentsWalker(_localRepository, null);
var walker = new UninstallWalker(_localRepository, dependentsResolver, null,
_logger, true, false);
try
{
var nuGetPackage = ((PackageDetails) package).Package;
var operations = walker.ResolveOperations(nuGetPackage);
_packageManager.UninstallPackage(nuGetPackage, false, true);
}
catch (Exception exception)
{
_logger.Log(MessageLevel.Error, exception.Message);
_packageOperationContextService.CurrentContext.CatchedExceptions.Add(exception);
}
}