diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourceSettings.cs b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourceSettings.cs index fb92fd5bca..8dd94ad3bb 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourceSettings.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSourceSettings.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Collections.Specialized; +using System.Linq; using NuGet; @@ -59,6 +60,10 @@ namespace ICSharpCode.PackageManagement var savedPackageSources = GetPackageSourcesFromSettings(); packageSources = new RegisteredPackageSources(savedPackageSources); packageSources.CollectionChanged += PackageSourcesChanged; + + if (!savedPackageSources.Any()) { + UpdatePackageSourceSettingsWithChanges(); + } } IEnumerable GetPackageSourcesFromSettings() diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOptionsTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOptionsTests.cs index 67eff2f665..d283464211 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOptionsTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOptionsTests.cs @@ -95,6 +95,26 @@ namespace PackageManagement.Tests CollectionAssert.AreEqual(expectedSources, actualPackageSources); } + [Test] + public void PackageSources_NoPackageSourceInSavedSettings_DefaultPackageSourceAddedToSettings() + { + CreateSettings(); + CreateOptions(fakeSettings); + + var packageSources = options.PackageSources; + + var defaultSource = RegisteredPackageSources.DefaultPackageSource; + + var expectedSavedPackageSourceSettings = new List>(); + string name = defaultSource.Name; + string sourceUrl = defaultSource.Source; + expectedSavedPackageSourceSettings.Add(new KeyValuePair(name, sourceUrl)); + + var actualSavedPackageSourceSettings = fakeSettings.GetValuesPassedToSetValuesForPackageSourcesSection(); + + Assert.AreEqual(expectedSavedPackageSourceSettings, actualSavedPackageSourceSettings); + } + [Test] public void PackageSources_OnePackageSourceAdded_PackageSourceSavedInSettings() {