Reference2 Interface

 

Extends the Reference interface of the VSLangProj namespace.

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

[GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface Reference2 : Reference

NameDescription
System_CAPS_pubpropertyBuildNumber

Gets the build number of the reference. Read-only.

System_CAPS_pubpropertyCollection

Gets a collection of References.

System_CAPS_pubpropertyContainingProject

Gets the Project containing the reference.

System_CAPS_pubpropertyCopyLocal

Determines whether the reference is copied to the local bin path.

System_CAPS_pubpropertyCulture

Gets the culture string of a reference. Read-only.

System_CAPS_pubpropertyDescription

Gets a text description of the reference. Read-only.

System_CAPS_pubpropertyDTE

Gets the top-level extensibility object.

System_CAPS_pubpropertyExtender[String]

Returns the requested Extender object if it is available for this object.

System_CAPS_pubpropertyExtenderCATID

Gets the Extender category ID (CATID) for the object.

System_CAPS_pubpropertyExtenderNames

Gets a list of available Extenders for the object.

System_CAPS_pubpropertyIdentity

Gets the unique identifier of the reference. Read-only.

System_CAPS_pubpropertyMajorVersion

Gets the major version number of the reference. Read-only.

System_CAPS_pubpropertyMinorVersion

Gets the minor version number of the reference. Read-only.

System_CAPS_pubpropertyName

Gets the name of the object. Read-only.

System_CAPS_pubpropertyPath

Gets the path to the reference file. Read-only.

System_CAPS_pubpropertyPublicKeyToken

Gets the public key token for the referenced assembly.

System_CAPS_pubpropertyRevisionNumber

Gets the revision number of the reference. Read-only.

System_CAPS_pubpropertyRuntimeVersion

Gets and sets the version of the runtime the reference was built against. Read-only.

System_CAPS_pubpropertySourceProject

Gets a Project object if the reference is a project. Otherwise, it returns Nothing (a null reference). Read-only.

System_CAPS_pubpropertyStrongName

Gets whether the reference is signed with a public/private key pair. Read-only.

System_CAPS_pubpropertyType

Gets a prjReferenceType value indicating whether the reference is an assembly or a COM component. Read-only.

System_CAPS_pubpropertyVersion

Gets the version of the selected reference.

NameDescription
System_CAPS_pubmethodRemove()

Removes the reference from the References object that contains it.

Reference objects returned by the References collection of the VSProject object support both the Reference interface and the Reference2 interface. Cast the object to Reference2 to access the Reference2 members.

Reference2 defines all the Reference members found in the VSLangProj namespace, plus:

The following example creates a new project from a template, adds two references, and displays their types.

'Macro Editor
Imports VSLangProj
Sub NewProject()
   Dim newName As String = InputBox("New project name:")
   ' Create a new project in the solution based on an existing
   ' project.
   Dim newProject As Project = DTE.Solution.AddFromTemplate( _
      "C:\TemplatePath\Template.vbproj", _
      "C:\ProjectPath\" & newName, newName)

   ' Add a COM reference and display its type.
   Dim vsProject As VSProject = CType(newProject.Object, VSProject)
   Dim newRef As Reference
   newRef = vsProject.References.Add("C:\WINNT\System32\msmask32.ocx")
   MsgBox(GetRefTypeName(newRef))

   ' Add an Assembly reference and display its type, "Assembly".
   newRef = vsProject.References.Add("C:\SomeProject\bin\SomeProject.dll")
   MsgBox(GetRefTypeName(newRef))
End Sub

Private Function GetRefTypeName(ByVal ref As Reference) _
   As String
   Dim type As String
   Select Case ref.Type
      Case prjReferenceType.prjReferenceTypeActiveX
         type = "COM"
      Case prjReferenceType.prjReferenceTypeAssembly
         type = "Assembly"
   End Select
   Return type
End Function

The following example creates a short report of a reference's properties.

' Macro Editor
' Create a small report about a reference.
Imports VSLangProj
Function ReportReferences(ByVal aRef As Reference) As String
   Dim report As String = ""
   Dim type As String
   ' Each entry in the ArrayList will contain a label and a value.
   Dim ht As System.Collections.ArrayList = _
      New System.Collections.ArrayList()
   With aRef
      ht.Add(New String() {"Name", .Name})
      ht.Add(New String() {"Description", .Description})
      ht.Add(New String() {"Version", String.Format("{0}.{1}.{2}.{3}", _
         .MajorVersion, .MinorVersion, .BuildNumber, .RevisionNumber)})
      ht.Add(New String() {"Location", .ContainingProject.FullName})
      Select Case .Type
         Case prjReferenceType.prjReferenceTypeActiveX
            type = "COM"
         Case prjReferenceType.prjReferenceTypeAssembly
            type = "Assembly"
      End Select
      ht.Add(New String() {"Type", type})
      ht.Add(New String() {"Culture", .Culture})
   End With

   Dim datas() As String
   For Each datas In ht
      report &= datas(0) & ControlChars.Tab & datas(1) & ControlChars.CrLf
   Next
   Return report
End Function
Return to top
Show: