internal void RemovePackageSource(string id)
{
Debug(Resources.Messages.DebugInfoCallMethod3, "NuGetRequest", "RemovePackageSource", id);
var config = Config;
if (config == null) {
return;
}
try {
XElement configuration = config.ElementsNoNamespace("configuration").FirstOrDefault();
if (configuration == null)
{
return;
}
XElement packageSources = configuration.ElementsNoNamespace("packageSources").FirstOrDefault();
if (packageSources == null)
{
return;
}
var nodes = packageSources.Elements("add");
if (nodes == null) {
return;
}
foreach (XElement node in nodes) {
if (node.Attribute("key") != null && String.Equals(node.Attribute("key").Value, id, StringComparison.OrdinalIgnoreCase)) {
// remove itself
node.Remove();
Config = config;
Verbose(Resources.Messages.RemovedPackageSource, id);
break;
}
}
if (_registeredPackageSources.ContainsKey(id))
{
_registeredPackageSources.Remove(id);
}
if (_checkedUnregisteredPackageSources.ContainsKey(id))
{
_checkedUnregisteredPackageSources.Remove(id);
}
//var source = config.SelectNodes("/configuration/packageSources/add").Cast<XmlNode>().FirstOrDefault(node => String.Equals(node.Attributes["key"].Value, id, StringComparison.CurrentCultureIgnoreCase));
//if (source != null)
//{
// source.ParentNode.RemoveChild(source);
// Config = config;
// Verbose(Resources.Messages.RemovedPackageSource, id);
//}
} catch (Exception ex) {
ex.Dump(this);
}
}