Partager via


Reference2 Interface

Definition

Extends the Reference interface of the VSLangProj namespace.

public interface class Reference2 : VSLangProj::Reference
public interface class Reference2 : VSLangProj::Reference
__interface Reference2 : VSLangProj::Reference
[System.Runtime.InteropServices.Guid("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface Reference2 : VSLangProj.Reference
[System.Runtime.InteropServices.Guid("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface Reference2 : VSLangProj.Reference
[<System.Runtime.InteropServices.Guid("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type Reference2 = interface
    interface Reference
[<System.Runtime.InteropServices.Guid("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")>]
type Reference2 = interface
    interface Reference
Public Interface Reference2
Implements Reference
Derived
Attributes
Implements

Examples

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  

Remarks

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:

Properties

BuildNumber

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

Collection

Gets a collection of References.

ContainingProject

Gets the Project containing the reference.

CopyLocal

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

Culture

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

Description

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

DTE

Gets the top-level extensibility object.

Extender[String]

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

ExtenderCATID

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

ExtenderNames

Gets a list of available Extenders for the object.

Identity

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

MajorVersion

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

MinorVersion

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

Name

Gets the name of the object. Read-only.

Path

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

PublicKeyToken

Gets the public key token for the referenced assembly.

RevisionNumber

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

RuntimeVersion

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

SourceProject

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

StrongName

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

Type

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

Version

Gets the version of the selected reference.

Methods

get_Extender(String)
Remove()

Removes the reference from the References object that contains it.

Applies to