Reference3.SourceProject Свойство

Определение

Получает объект Project, если ссылка является проектом. В противном случае возвращается Nothing (объект null).

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

Значение свойства

Project

Возвращает объект Project.

Реализации

Атрибуты

Примеры

В этом примере выполняется итерация всех ссылок и отображается имя SourceProject , если оно имеется. Чтобы запустить этот пример в качестве надстройки, см. статью как скомпилировать и запустить примеры кода объектной модели автоматизации. Visual Basic Visual C# Перед выполнением этого примера откройте проект или.

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)  
    DisplaySourceProjectName(applicationObject)  
End Sub  
Public Sub DisplaySourceProjectName(ByVal dte As DTE2)  
    ' The first project is a Visual Basic or C# project.  
    Dim vsProject As VSProject2 =_  
    CType(applicationObject.Solution.Projects.Item(1).Object, _  
    VSProject2)  
    Dim aRef As Reference3  
    Dim refStr As String  
    refStr = ""  
    Dim project As EnvDTE.Project  
    For Each aRef In vsProject.References  
        project = aRef.SourceProject  
        If project Is Nothing Then  
            refStr += (aRef.Name & " has no source project." & vbCr _  
            & vbCr)  
        Else  
            refStr += (aRef.Name & " has a source project named " _  
            & project.Name & vbCr & vbCr)  
        End If  
    Next  
    MsgBox(refStr)  
End Sub  
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;  
    DisplaySourceProjectName(((DTE2)applicationObject));  
}  
public void DisplaySourceProjectName(DTE2 dte)  
{  
    // The first project is a Visual Basic or C# project.  
    VSProject2 aProject =   
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));  
    Reference3 aRef = null;  
    string refStr = null;  
    refStr = "";  
    EnvDTE.Project project = null;  
    foreach (VSLangProj80.Reference3 temp in aProject.References)  
    {  
        aRef = temp;   
        project = aRef.SourceProject;  
        if (project == null)  
        {  
            refStr += (aRef.Name + " has no source project." + "\n"   
+ "\n");  
        }  
        else  
        {  
            refStr += (aRef.Name + " has a source project named "   
+ project.Name + "\n" + "\n");  
        }  
    }  
    MessageBox.Show(refStr);  
}  

Комментарии

Чтобы один проект использовал объекты, собранные вторым проектом, первый проект должен содержать ссылку на второй проект. В этом случае SourceProject свойство может возвращать Project объект для второго проекта.

Применяется к