nuget-extensions/nuget-commands/src.2.5/CredentialsProviderUpdater.cs (25 lines of code) (raw):

using System; using JetBrains.Annotations; using NuGet; namespace JetBrains.TeamCity.NuGet.ExtendedCommands { public partial class CredentialsProviderUpdater { private static IDisposable UpdateCredentialsProvider<T>([NotNull] T provider) where T : INuGetCredantialsProvider, ICredentialProvider { try { var store = (ICredentialCache)typeof(ICredentialCache).Assembly.GetType("NuGet.CredentialStore").GetProperty("Instance").GetValue(null, null); foreach (var url in provider.Sources) { store.Add(new Uri(url.Key.Source), url.Value); } } catch (Exception e) { Console.Out.WriteLine("Failed to update DefaultCredentialsProvider for HttpClient. " + e.Message); } return Noop; } } }