diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs index 27e56bad03..6b803d9ea0 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs @@ -13,8 +13,10 @@ namespace ICSharpCode.PackageManagement.EnvDTE public class ProjectItem { SD.FileProjectItem projectItem; + public const string CopyToOutputDirectoryPropertyName = "CopyToOutputDirectory"; public const string CustomToolPropertyName = "CustomTool"; + public const string FullPathPropertyName = "FullPath"; public ProjectItem(Project project, FileProjectItem projectItem) { @@ -44,6 +46,8 @@ namespace ICSharpCode.PackageManagement.EnvDTE return GetCopyToOutputDirectory(); } else if (name == CustomToolPropertyName) { return projectItem.CustomTool; + } else if (name == FullPathPropertyName) { + return projectItem.FileName; } return String.Empty; } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItemPropertyFactory.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItemPropertyFactory.cs index a6790e13e7..3b90f2e76c 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItemPropertyFactory.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItemPropertyFactory.cs @@ -23,7 +23,8 @@ namespace ICSharpCode.PackageManagement.EnvDTE public IEnumerator GetEnumerator() { yield return new ProjectItemProperty(projectItem, ProjectItem.CopyToOutputDirectoryPropertyName); - yield return new ProjectItemProperty(projectItem, "CustomTool"); + yield return new ProjectItemProperty(projectItem, ProjectItem.CustomToolPropertyName); + yield return new ProjectItemProperty(projectItem, ProjectItem.FullPathPropertyName); } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs index 2b6205d95e..c346f38336 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs @@ -145,5 +145,27 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual("CustomTool", property.Name); } + + [Test] + public void Value_GetFullPath_ReturnsProjectItemFullFileName() + { + CreateProjectItemProperties(); + msbuildFileProjectItem.FileName = @"d:\projects\test.cs"; + + string path = properties.Item("FullPath").Value as string; + + Assert.AreEqual(@"d:\projects\test.cs", path); + } + + [Test] + public void GetEnumerator_FindFullPathPropertyInAllProperties_ReturnsPropertyWithFullPathName() + { + CreateProjectItemProperties(); + + var projectItemProperties = new List(properties); + var property = projectItemProperties.Find(p => p.Name == "FullPath"); + + Assert.AreEqual("FullPath", property.Name); + } } }