Project.UniqueName Property


Gets a unique string value that allows you to differentiate between similarly named projects.

Namespace:   EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

string UniqueName { get; }

Property Value

Type: System.String

A string representing a unique value that is used to differentiate between similarly named projects.

UniqueName is used primarily for indexing Solution.Item("..."). This method returns a temporary, unique string value that you can use to differentiate one project from another. While you can compare one UniqueName value to another, no meaning should be applied to the actual string value because it is to be used only for comparison purposes.

For a meaningful comparison, use the FullName property or some combination of similar, persisted properties instead.

Sub UniqueNameExample()
   Dim proj As Project
   Dim projitems As ProjectItems
   Dim msg As String

   ' Reference the current solution and its projects and project items.
   proj = DTE.ActiveSolutionProjects(0)
   projitems = proj.ProjectItems

   ' List properties of the project and its items.
   msg = "Is the item open? " & projitems.Item(1).IsOpen & Chr(13)
   msg = msg & "The project's unique name: " & proj.UniqueName
   ' The following two properties work only if the current project 
   ' contains subprojects. If it does, then uncomment the lines to run 
   ' them.
   ' msg = msg & "The parent project item name: " & proj.ParentProjectItem.Name & Chr(13)
   ' msg = msg & "The subproject name: " & projitems.Item(1).SubProject.Name & Chr(13)
End Sub
Return to top