Browse Source

Fix argument out of range exception when modify the registered NuGet package sources in Tools Options.

pull/15/head
Matt Ward 15 years ago
parent
commit
90338b852f
  1. 3
      src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs
  2. 12
      src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs

3
src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs

@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Linq;
using NuGet; using NuGet;
namespace ICSharpCode.PackageManagement namespace ICSharpCode.PackageManagement
@ -54,8 +55,10 @@ namespace ICSharpCode.PackageManagement
get { get {
activePackageSource = options.ActivePackageSource; activePackageSource = options.ActivePackageSource;
if (activePackageSource == null) { if (activePackageSource == null) {
if (options.PackageSources.Any()) {
activePackageSource = options.PackageSources[0]; activePackageSource = options.PackageSources[0];
} }
}
return activePackageSource; return activePackageSource;
} }
set { set {

12
src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs

@ -261,6 +261,18 @@ namespace PackageManagement.Tests
Assert.AreEqual(expectedRepository, repository); Assert.AreEqual(expectedRepository, repository);
} }
[Test]
public void ActivePackageSource_AllPackageSourcesCleared_ReturnsNullAndDoesNotThrowArgumentOutOfRangeException()
{
CreateRegisteredPackageRepositories();
packageSourcesHelper.Options.ActivePackageSource = null;
registeredRepositories.PackageSources.Clear();
var activePackageSource = registeredRepositories.ActivePackageSource;
Assert.IsNull(activePackageSource);
}
} }
} }

Loading…
Cancel
Save