Condividi tramite


Reference3.ContainingProject Property

Definition

Gets the Project containing the reference.

public:
 property EnvDTE::Project ^ ContainingProject { EnvDTE::Project ^ get(); };
public:
 property EnvDTE::Project ^ ContainingProject { EnvDTE::Project ^ get(); };
[System.Runtime.InteropServices.DispId(3)]
public EnvDTE.Project ContainingProject { [System.Runtime.InteropServices.DispId(3)] get; }
[<System.Runtime.InteropServices.DispId(3)>]
[<get: System.Runtime.InteropServices.DispId(3)>]
member this.ContainingProject : EnvDTE.Project
Public ReadOnly Property ContainingProject As Project

Property Value

A Project object that contains the reference.

Implements

Attributes

Examples

This example displays the containing project for all references and also for each reference separately in an open Visual Basic or Visual C# project. To run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.

Imports VSLangProj  
Imports VSLangProj2  
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)  
    TestGetProjectName(applicationObject)  
End Sub  
Sub TestGetProjectName(ByVal dte As DTE2)  
    ' First project is a Visual Basic or C# project.  
    Dim theVSProject As VSProject2 = _  
    CType(applicationObject.Solution.Projects.Item(1)._  
    Object, VSProject2)  
    Dim refs As References = theVSProject.References  
    MsgBox("The containing project for all references is : " _  
    & GetProjectName(refs))  
    Dim aRef As Reference3  
    Dim refStr As String  
    refStr = ""  
    For Each aRef In theVSProject.References  
        refStr &= (aRef.Name & "'s containing project is: " _  
        & aRef.ContainingProject.Name & vbCr)  
    Next  
    MsgBox("The containing project for each reference in the project:" _  
    & vbCr & vbCr & refStr & vbCr)  
End Sub  
Private Function GetProjectName(ByVal refs As References) _  
    As String  
    Return refs.ContainingProject.Name  
End Function  
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;  
    TestGetProjectName(((DTE2)applicationObject));  
}  
public void TestGetProjectName(DTE2 dte)  
{  
    // First project is a Visual Basic or C# project.  
    VSProject2 theVSProject =   
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));  
    References refs = theVSProject.References;  
    MessageBox.Show("The containing project for all references is : "   
+ GetProjectName(refs));  
    Reference aRef = null;  
    string refStr = null;  
    refStr = "";  
    foreach (VSLangProj80.Reference3 temp in theVSProject.References)  
    {  
        aRef = temp;  
        refStr += (aRef.Name + "'s containing project is: "   
+ aRef.ContainingProject.Name + "\n");  
    }  
    MessageBox.Show("The containing project for each reference in   
the project:" + "\n" + "\n" + refStr + "\n");  
}  

private string GetProjectName(References refs)  
{  
    return refs.ContainingProject.Name;  
}  

Remarks

Use this property to retrieve the Project object that includes the reference.

Applies to