Reference3 Schnittstelle

Definition

Erweitert die Reference2-Schnittstelle des VSLangProj2-Namespaces.

public interface class Reference3 : VSLangProj2::Reference2
public interface class Reference3 : VSLangProj2::Reference2
__interface Reference3 : VSLangProj2::Reference2
[System.Runtime.InteropServices.Guid("5021602E-2025-4299-88D2-0A92E8B41ADF")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface Reference3 : VSLangProj2.Reference2
[<System.Runtime.InteropServices.Guid("5021602E-2025-4299-88D2-0A92E8B41ADF")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type Reference3 = interface
    interface Reference2
Public Interface Reference3
Implements Reference2
Abgeleitet
Attribute
Implementiert

Beispiele

Im folgenden Beispiel werden zwei Verweise auf ein geöffnetes-oder-Projekt hinzugefügt Visual Basic Visual C# . Anschließend wird die Funktion "getreftykname" aufgerufen, um den Verweistyp anzuzeigen, und die Funktion "Report Report Items" wird aufgerufen, um zusätzliche Verweis Eigenschaften anzuzeigen. Informationen zum Ausführen dieses Beispiels als Add-in finden Sie unter Gewusst wie: Kompilieren und Ausführen der Code Beispiele für das Automatisierungs Objektmodell.

Die Standard Pfade für die hinzugefügten Verweise lauten: <installation root> \Programme\Microsoft.NET\Primary Interopassemblys für adodb.dll und <installation root> \Programme\Gemeinsame dateien\redner engines\microsoft für spcommon.dll. Ersetzen Sie <file path> im Beispiel durch diese oder andere geeignete Dateipfade.

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)  
    AddNewReference(applicationObject)  
End Sub  
Sub AddNewReference(ByVal dte As DTE2)  
    Dim aProject As Project  
    Dim aVSProject As VSProject2  
    aProject = applicationObject.Solution.Projects.Item(1)  
    aVSProject =_  
 CType(applicationObject.Solution.Projects.Item(1).Object, VSProject2)  
    ' Add an Assembly reference and display its type and additional  
    ' information.  
    Dim newRef As Reference3  
    ' Replace <file path> with an actual path.  
    newRef = aVSProject.References.Add("<file path>\adodb.dll")  
    MsgBox("The " & newRef.Name() & " added, is of type:" & vbCr _  
    & GetRefTypeName(newRef))  
    MsgBox("A report on " & newRef.Name() & ":" & vbCr & _  
    ReportReferences(newRef))  
    ' Add a COM reference and display its type and a report.  
    ' Replace <file path> with an actual path.  
    newRef = aVSProject.References.Add("<file path>\spcommon.dll")  
    MsgBox("The " & newRef.Name() & " added, is of type:" & vbCr _  
    & GetRefTypeName(newRef))  
    MsgBox("A report on " & newRef.Name() & ":" & vbCr & _  
    ReportReferences(newRef))  
End Sub  
Private Function GetRefTypeName(ByVal ref As Reference3) _  
    As String  
    Dim type As String  
    Select Case ref.Type  
        Case prjReferenceType.prjReferenceTypeActiveX  
            type = "COM"  
         Case prjReferenceType.prjReferenceTypeAssembly  
            type = "Assembly"  
    End Select  
    Return type  
End Function  
Function ReportReferences(ByVal aRef As Reference3) As String  
    Dim report As String = ""  
    Dim type As String  
    ' Each entry in the ArrayList contains a label and a value.  
    Dim ht As System.Collections.ArrayList = _  
    New System.Collections.ArrayList  
    With aRef  
        ht.Add(New String() {"Name", .Name})  
        ht.Add(New String() {"Description", .Description})  
        ht.Add(New String() {"Version",  -  
        String.Format("{0}.{1}.{2}.{3}", _  
        .MajorVersion, .MinorVersion, .BuildNumber, .RevisionNumber)})  
        ht.Add(New String() {"Location", .ContainingProject.FullName})  
            Select Case .Type  
            Case prjReferenceType.prjReferenceTypeActiveX  
                type = "COM"  
            Case prjReferenceType.prjReferenceTypeAssembly  
                type = "Assembly"  
            End Select  
            ht.Add(New String() {"Type", type})  
            ht.Add(New String() {"Culture", .Culture})  
    End With  
    Dim datas() As String  
    For Each datas In ht  
        report &= datas(0) & ControlChars.Tab & datas(1) & _  
        ControlChars.CrLf  
    Next  
    Return report  
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;  
    AddNewReference(((DTE2)applicationObject));  
}  

public void AddNewReference(DTE2 dte)  
{  
    Project aProject = null;  
    VSProject2 aVSProject = null;  
    aProject = applicationObject.Solution.Projects.Item(1);  
    aVSProject =   
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));  
    // Add an Assembly reference and display its type and a report.  
    Reference3 newRef = null;  
    // Replace <file path> with an actual file path.  
    newRef = ((Reference3)(aVSProject.References.Add(@"  
<file path>\adodb.dll")));  
    MessageBox.Show("The " + newRef.Name + " added, is of type:"   
+ "\n" + GetRefTypeName(newRef));  
    MessageBox.Show("A report on " + newRef.Name + ":" + "\n"   
+ ReportReferences(newRef));   
    // Add a COM reference and display its type and a report.  
    // Replace <file path> with an actual file path.  
    newRef = ((Reference3)(aVSProject.References.Add(@"  
<file path>\spcommon.dll")));  
    MessageBox.Show("The " + newRef.Name + " added, is of type:"   
+ "\n" + GetRefTypeName(newRef));  
    MessageBox.Show("A report on " + newRef.Name + ":" + "\n"   
+ ReportReferences(newRef));   
}  
private string GetRefTypeName(Reference3 refIdent)  
{  
    string type = null;  
    switch (refIdent.Type)  
    {  
     case prjReferenceType.prjReferenceTypeActiveX:  
        type = "COM";  
        break;  
    case prjReferenceType.prjReferenceTypeAssembly:  
        type = "Assembly";  
        break;  
    }  
    return type;  
}  
public string ReportReferences(Reference3 aRef)  
{  
    string report = "";  
    string type = null;  
    // Each entry in the ArrayList contains a label and a value.  
    System.Collections.ArrayList ht =   
new System.Collections.ArrayList();  
    VSLangProj.Reference temp = aRef;  
    ht.Add(new string[] { "Name", temp.Name });  
    ht.Add(new string[] { "Description", temp.Description });  
   ht.Add(new string[] { "Version", string.Format("{0}.{1}.{2}.{3}"  
, temp.MajorVersion, temp.MinorVersion,   
temp.BuildNumber, temp.RevisionNumber) });  
    ht.Add(new string[] { "Location",   
temp.ContainingProject.FullName });  
    switch (temp.Type)  
    {  
        case prjReferenceType.prjReferenceTypeActiveX:  
            type = "COM";  
            break;  
        case prjReferenceType.prjReferenceTypeAssembly:  
            type = "Assembly";  
            break;  
    }  
    ht.Add(new string[] { "Type", type });  
    ht.Add(new string[] { "Culture", temp.Culture });  
    string[] datas = null;  
    foreach (string[] temp1 in ht)  
    {  
        datas = temp1;   
        report += datas[0] + "\t" + datas[1] + "\n";  
    }  
    return report;  
}  

Hinweise

Reference3 definiert die folgenden neuen Parameter:

Aliases

AutoReferenced

Isolated

RefType

SpecificVersion

Eigenschaften

Aliases

Ruft die Aliasnamen für den angegebenen Verweis ab oder legt Sie fest. Diese Eigenschaft gilt nur für Visual c#.

AutoReferenced

Ruft ab, ob vom Compiler automatisch auf den Verweis verwiesen wird.

BuildNumber

Ruft die Buildnummer des Verweises ab.

Collection

Ruft eine Auflistung von References ab.

ContainingProject

Ruft das ab, das Project den Verweis enthält.

CopyLocal

Ruft ab oder legt fest, ob der Verweis in den lokalen bin-Pfad kopiert wird.

Culture

Ruft die Kultur Zeichenfolge eines Verweises ab.

Description

Ruft eine Textbeschreibung des Verweises ab.

DTE

Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.

Extender[String]

Nur Microsoft-interne Verwendung.

ExtenderCATID

Nur Microsoft-interne Verwendung.

ExtenderNames

Nur Microsoft-interne Verwendung.

Identity

Ruft den eindeutigen Bezeichner des Verweises ab.

Isolated

Ruft ab oder legt fest, ob der com-Verweis isoliert ist, d. h. nicht bei Windows registriert ist.

MajorVersion

Ruft die Hauptversionsnummer des Verweises ab.

MinorVersion

Ruft die neben Versionsnummer des Verweises ab.

Name

Ruft den Namen des Objekts ab.

Path

Ruft den Pfad zur Verweis Datei ab.

PublicKeyToken

Ruft das Token des öffentlichen Schlüssels von einem stark signierten Verweis ab.

RefType

Ruft den Verweistyp ab: Assembly, com oder nativ.

Resolved

Ruft ab, ob der aktuelle Verweis aufgelöst wurde.

RevisionNumber

Ruft die Revisionsnummer des Verweises ab.

RuntimeVersion

Ruft die Version der Laufzeit ab, für die der Verweis erstellt wurde. Dies gilt nur für .net-Verweise.

SourceProject

Ruft ein-Objekt ab, Project Wenn der Verweis ein Projekt ist. Andernfalls wird "Nothing" zurückgegeben (ein NULL-Objekt).

SpecificVersion

Ruft ab oder legt fest, ob nur eine bestimmte Version des Verweises verwendet wird.

StrongName

Ruft ab, ob der Verweis mit einem Paar aus öffentlichem und privatem Schlüssel signiert ist.

SubType

Legt den Untertyp der Assembly fest oder ruft ihn ab.

Type

Veraltet. Nur aus Gründen der Abwärtskompatibilität eingeschlossen. Verwenden Sie stattdessen RefType.

Version

Ruft die Version des angegebenen Verweises ab.

Methoden

Remove()

Entfernt den Verweis aus dem References Objekt, in dem es enthalten ist.

Gilt für