diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
index 6cc064b6fc..f44b4fc0ae 100644
--- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
+++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
@@ -120,6 +120,7 @@
+
diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Reference3.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Reference3.cs
new file mode 100644
index 0000000000..6f03d5cbc4
--- /dev/null
+++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Reference3.cs
@@ -0,0 +1,18 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
+
+using System;
+using ICSharpCode.SharpDevelop.Project;
+
+namespace ICSharpCode.PackageManagement.EnvDTE
+{
+ public class Reference3 : Reference
+ {
+ public Reference3(Project project, ReferenceProjectItem referenceProjectItem)
+ : base(project, referenceProjectItem)
+ {
+ }
+
+ public bool AutoReferenced { get; private set; }
+ }
+}
diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs
index f1e145bcb0..dbf123ff93 100644
--- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs
+++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs
@@ -54,7 +54,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
IEnumerable GetReferences()
{
foreach (ReferenceProjectItem referenceProjectItem in project.GetReferences()) {
- yield return new Reference(project, referenceProjectItem);
+ yield return new Reference3(project, referenceProjectItem);
}
}
diff --git a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
index 7772e216c2..316a22e976 100644
--- a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
+++ b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
@@ -130,7 +130,7 @@
-
+
diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferenceTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/Reference3Tests.cs
similarity index 89%
rename from src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferenceTests.cs
rename to src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/Reference3Tests.cs
index f9adcd6fe2..bf59f7a634 100644
--- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferenceTests.cs
+++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/Reference3Tests.cs
@@ -11,9 +11,9 @@ using PackageManagement.Tests.Helpers;
namespace PackageManagement.Tests.EnvDTE
{
[TestFixture]
- public class ReferenceTests
+ public class Reference3Tests
{
- Reference reference;
+ Reference3 reference;
TestableProject msbuildProject;
FakePackageManagementProjectService fakeProjectService;
TestableDTEProject project;
@@ -29,7 +29,7 @@ namespace PackageManagement.Tests.EnvDTE
void CreateReference(Project project, ReferenceProjectItem referenceProjectItem)
{
- reference = new Reference(project, referenceProjectItem);
+ reference = new Reference3(project, referenceProjectItem);
}
TestableProject CreateProjectReference()
@@ -96,5 +96,15 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual(@"d:\projects\referencedproject.csproj", project.FileName);
}
+
+ [Test]
+ public void AutoReferenced_SystemXmlReferenceInProjectReferences_ReturnsFalse()
+ {
+ CreateReference("System.Xml");
+
+ bool result = reference.AutoReferenced;
+
+ Assert.IsFalse(result);
+ }
}
}
diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs
index 8d7c6a9495..7b0fd8888b 100644
--- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs
+++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs
@@ -191,5 +191,16 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("System.Xml", reference.Name);
}
+
+ [Test]
+ public void Item_SystemXmlProjectHasSystemXmlReference_OneReference3Returned()
+ {
+ CreateReferences();
+ msbuildProject.AddReference("System.Xml");
+
+ Reference3 reference = references.Item("System.Xml") as Reference3;
+
+ Assert.AreEqual("System.Xml", reference.Name);
+ }
}
}