Freigeben über


Reference3.SourceProject-Eigenschaft

Ruft ein Project-Objekt ab, wenn es sich bei dem Verweis um ein Projekt handelt. Andernfalls wird Nothing (ein NULL-Objekt) zurückgegeben.

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

Syntax

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

Eigenschaftswert

Typ: Project
Gibt ein Project-Objekt zurück.

Hinweise

Damit ein Projekt die Objekte verwenden kann, die von einem zweiten Projekt erstellt wurden, muss das erste Projekt einen Verweis auf das zweite Projekt enthalten. In einem solchen Fall kann die SourceProject-Eigenschaft ein Project-Objekt für das zweite Projekt zurückgeben.

Beispiele

In diesem Beispiel werden alle Verweise durchlaufen und der Name von SourceProject, sofern vorhanden, angezeigt. Um dieses Beispiel als Add-In auszuführen, informieren Sie sich unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell. Öffnen Sie ein Visual Basic- oder ein Visual C#-Projekt, bevor Sie dieses Beispiel ausführen.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

Reference3 Schnittstelle

VSLangProj80-Namespace