diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs index 5bc13835d1..4b3123d02b 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs @@ -74,5 +74,13 @@ namespace ICSharpCode.PackageManagement.EnvDTE { return String.Equals(reference.Name, identity, StringComparison.InvariantCultureIgnoreCase); } + + /// + /// This method should be in a separate AssemblyReferences class that is exposed by web projects. + /// + public void AddFromGAC(string assemblyName) + { + Add(assemblyName); + } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs index 23da89590b..3d76e3f2d5 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs @@ -83,6 +83,18 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual(1, count); } + [Test] + public void AddFromGAC_AddGacAssemblyReference_ReferenceAddedToMSBuildProject() + { + CreateReferences(); + references.AddFromGAC("System.Data"); + + var reference = msbuildProject.Items[0] as ReferenceProjectItem; + string referenceName = reference.Name; + + Assert.AreEqual("System.Data", referenceName); + } + [Test] public void Add_AddGacAssemblyReferenceWhenReferenceAlreadyExistsInProjectButWithDifferentCase_ReferenceIsNotAddedToMSBuildProject() {