diff options
author | Matt Ward <matt.ward@microsoft.com> | 2018-11-21 20:56:17 +0300 |
---|---|---|
committer | Matt Ward <matt.ward@microsoft.com> | 2018-11-22 15:50:04 +0300 |
commit | e23b5f59259bc390481e5433c42d9582b2ac2372 (patch) | |
tree | 7c5a4b24c07e0a350f9f27bdbb253fdf4fa3b0de /main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers | |
parent | bd17f560b7babf24cfc4b34f3ce181fbac09357e (diff) |
[NuGet] Modify reference in place on updating a NuGet package
On updating a NuGet package in a project that uses a packages.config
the old NuGet package is uninstalled and the new one is installed.
This removes the old references and adds new references. If the
references are in an ItemGroup with a condition then the new
reference can be added into a different ItemGroup if there are other
ItemGroups with references. To prevent this from happening the
changes to made to references are cached and not applied to the
project until the NuGet actions have all been run. This allows
a reference remove followed by an reference being added to be
converted into an update of the original reference's HintPath so its
location in the project file is not changed.
Fixes VSTS #697600 - Sometimes updating package changes its Reference
ItemGroup
Diffstat (limited to 'main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers')
-rw-r--r-- | main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs index 26fc974437..303c244d74 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs +++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.Helpers/FakeNuGetProject.cs @@ -39,7 +39,7 @@ using NuGet.Versioning; namespace MonoDevelop.PackageManagement.Tests.Helpers { - class FakeNuGetProject : NuGetProject, IBuildIntegratedNuGetProject, IHasDotNetProject + class FakeNuGetProject : NuGetProject, IBuildIntegratedNuGetProject, IHasDotNetProject, IHasProjectReferenceMaintainer { public FakeNuGetProject (IDotNetProject project) { @@ -50,6 +50,7 @@ namespace MonoDevelop.PackageManagement.Tests.Helpers } public IDotNetProject Project { get; private set; } + public IProjectReferenceMaintainer ProjectReferenceMaintainer { get; set; } public List<PackageReference> InstalledPackages = new List<PackageReference> (); |