Condividi tramite


VSProject2.References Property

Definition

Gets the References collection for the project.

public:
 property VSLangProj::References ^ References { VSLangProj::References ^ get(); };
[System.Runtime.InteropServices.DispId(1)]
public VSLangProj.References References { [System.Runtime.InteropServices.DispId(1)] get; }
[<System.Runtime.InteropServices.DispId(1)>]
[<get: System.Runtime.InteropServices.DispId(1)>]
member this.References : VSLangProj.References
Public ReadOnly Property References As References

Property Value

A References collection containing Reference objects, each one representing a reference.

Implements

Attributes

Examples

To run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples. This example assumes that the first project in the solution is a Visual Basic or Visual C# project.

[Visual Basic]

' Add-in.  
' Assuming that the first project in the solution is a Visual Basic   
' or C# application, this routine lists the references   
' in the project.  
Imports VSLangProj  
Imports VSLangProj80  
Public Sub OnConnection(ByVal application As Object_  
, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _  
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection  
    applicationObject = CType(application, DTE2)  
    addInInstance = CType(addInInst, AddIn)  
    ListReferences(applicationObject)  
End Sub  

Sub ListReferences(ByVal dte As DTE2)  
    ' Retrieve the VSProject2 object.  
    Dim theVSProject As VSProject2 = _  
    CType(applicationObject.Solution.Projects.Item(1).Object, _  
    VSProject2)  
    ' Retrieve the references collection.  
    Dim refs As References = theVSProject.References  

    ' Create a string list of the reference names.  
    Dim refList As String = ""  
    Dim aRef As Reference3  
    For Each aRef In refs  
        refList &= aRef.Identity & ControlChars.CrLf  
    Next  
    MsgBox(refList)  
End Sub  

[C#]

// Add-in.  
// Assuming that the first project in the solution is a Visual Basic   
// or C# application, this routine lists the references   
// in the project.  
using System.Windows.Forms;  
using VSLangProj;  
using VSLangProj2;  
using VSLangProj80;  

public void OnConnection(object application, ext_ConnectMode  
 connectMode, object addInInst, ref Array custom)  
{  
    applicationObject = (DTE2)application;  
    addInInstance = (AddIn)addInInst;  
    ListReferences((DTE2)applicationObject);  
}  

public void ListReferences( DTE2 dte )   
{   
    // Retrieve the VSProject2 object.  
    VSProject2 theVSProject = ( ( VSProject2 )  
(applicationObject.Solution.Projects.Item( 1 ).Object ) );   
    // Retrieve the references collection.  
    References refs = theVSProject.References;   

    // Create a string list of the reference names.  
    string refList = "";   
    Reference3 aRef = null;   
    foreach ( VSLangProj80.Reference3 temp in refs )   
    {   
        aRef = temp;   
        refList += aRef.Identity + "\n";   
    }  
    MessageBox.Show( refList);   
}  

Remarks

To write code against an external component, your project must first contain a reference to that component. A reference can be made to three types of components: .NET assemblies, COM automation servers and controls, and other projects within the same solution that expose components.

Applies to