Share via


VSProject2.References Property

Gets the References collection for the project.

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

Syntax

'Declaration
ReadOnly Property References As References
References References { get; }
property References^ References {
    References^ get ();
}
abstract References : References with get
function get References () : References

Property Value

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

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.

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); 
}

.NET Framework Security

See Also

Reference

VSProject2 Interface

VSLangProj80 Namespace

References