Sdílet prostřednictvím


Reference3 – rozhraní

Rozšiřuje Reference2 rozhraní VSLangProj2 oboru názvů.

Obor názvů:  VSLangProj80
Sestavení:  VSLangProj80 (v VSLangProj80.dll)

Syntaxe

'Deklarace
<GuidAttribute("5021602E-2025-4299-88D2-0A92E8B41ADF")> _
Public Interface Reference3 _
    Inherits Reference2
[GuidAttribute("5021602E-2025-4299-88D2-0A92E8B41ADF")]
public interface Reference3 : Reference2
[GuidAttribute(L"5021602E-2025-4299-88D2-0A92E8B41ADF")]
public interface class Reference3 : Reference2
[<GuidAttribute("5021602E-2025-4299-88D2-0A92E8B41ADF")>]
type Reference3 =  
    interface
        interface Reference2
    end
public interface Reference3 extends Reference2

Typ Reference3 zveřejňuje následující členy.

Vlastnosti

  Název Popis
Veřejná vlastnost Aliases Získá nebo nastaví názvů aliasu pro zadaný odkaz.Tato vlastnost platí pro Visual C# pouze.
Veřejná vlastnost AutoReferenced Získá, zda odkaz automaticky odkazuje kompilátoru.
Veřejná vlastnost BuildNumber (Zděděno z Reference2.)
Veřejná vlastnost BuildNumber Referenční číslo sestavení získá.
Veřejná vlastnost Collection (Zděděno z Reference2.)
Veřejná vlastnost Collection Získá kolekce References.
Veřejná vlastnost ContainingProject (Zděděno z Reference2.)
Veřejná vlastnost ContainingProject Získává Project obsahující odkaz.
Veřejná vlastnost CopyLocal (Zděděno z Reference2.)
Veřejná vlastnost CopyLocal Získá nebo nastaví, zda odkaz je zkopírován do přihrádky místní cesta.
Veřejná vlastnost Culture (Zděděno z Reference2.)
Veřejná vlastnost Culture Načte řetězec označující kulturu odkazu.
Veřejná vlastnost Description (Zděděno z Reference2.)
Veřejná vlastnost Description Načte text popisu odkazu.
Veřejná vlastnost DTE (Zděděno z Reference2.)
Veřejná vlastnost DTE Načtení objektu nejvyšší úrovně rozšiřitelnosti.
Veřejná vlastnost Extender[String] (Zděděno z Reference2.)
Veřejná vlastnost Extender[String] Infrastruktura. Microsoft pouze pro interní použití.
Veřejná vlastnost ExtenderCATID (Zděděno z Reference2.)
Veřejná vlastnost ExtenderCATID Infrastruktura. Microsoft pouze pro interní použití.
Veřejná vlastnost ExtenderNames (Zděděno z Reference2.)
Veřejná vlastnost ExtenderNames Infrastruktura. Microsoft pouze pro interní použití.
Veřejná vlastnost Identity (Zděděno z Reference2.)
Veřejná vlastnost Identity Získá jedinečný identifikátor odkaz.
Veřejná vlastnost Isolated Získá nebo nastaví, zda odkaz modelu COM je izolována, nejsou registrovány v systému Windows.
Veřejná vlastnost MajorVersion (Zděděno z Reference2.)
Veřejná vlastnost MajorVersion Získá číslo hlavní verze odkazu.
Veřejná vlastnost MinorVersion (Zděděno z Reference2.)
Veřejná vlastnost MinorVersion Získá číslo podverze odkazu.
Veřejná vlastnost Name (Zděděno z Reference2.)
Veřejná vlastnost Name Získá název objektu.
Veřejná vlastnost Path (Zděděno z Reference2.)
Veřejná vlastnost Path Cesta k souboru referenční získá.
Veřejná vlastnost PublicKeyToken (Zděděno z Reference2.)
Veřejná vlastnost PublicKeyToken Získává token veřejného klíče z důrazně podepsané odkaz.
Veřejná vlastnost RefType Získá typ odkazu: sestavení, COM nebo nativním režimu.
Veřejná vlastnost Resolved Získá, zda aktuální odkaz byl vyřešen.
Veřejná vlastnost RevisionNumber (Zděděno z Reference2.)
Veřejná vlastnost RevisionNumber Získá číslo revize odkazu.
Veřejná vlastnost RuntimeVersion (Zděděno z Reference2.)
Veřejná vlastnost RuntimeVersion Načte verzi modulu runtime, proti kterému byl vytvořen odkaz.To platí pouze pro.NET odkazy.
Veřejná vlastnost SourceProject (Zděděno z Reference2.)
Veřejná vlastnost SourceProject Získává Project objektu, pokud je odkaz na projekt.V ostatních případech vrátí hodnotu Nothing (objekt null).
Veřejná vlastnost SpecificVersion Získá nebo nastaví, zda se má použít konkrétní verzi odkaz.
Veřejná vlastnost StrongName (Zděděno z Reference2.)
Veřejná vlastnost StrongName Získá, zda odkaz je podepsán dvojici veřejného a soukromého klíče.
Veřejná vlastnost SubType Nastaví nebo získá podtyp sestavení.
Veřejná vlastnost Type (Zděděno z Reference2.)
Veřejná vlastnost Type Zastaralé.Zahrnuty pouze kvůli zpětné kompatibilitě.Jako náhradu použijte RefType.
Veřejná vlastnost Version (Zděděno z Reference2.)
Veřejná vlastnost Version Načte verzi zadaný odkaz.

Nahoru

Metody

  Název Popis
Veřejná metoda Remove() (Zděděno z Reference2.)
Veřejná metoda Remove() Odstraní odkaz z References objekt, který jej obsahuje.

Nahoru

Poznámky

Reference3 definuje nové následující parametry:

Aliases

AutoReferenced

Isolated

RefType

SpecificVersion

Příklady

Následující příklad přidá dva odkazy na otevření Visual Basic nebo Visual C# projektu.Pak volání funkce GetRefTypeName zobrazí typ odkazu a volání funkce ReportReferences zobrazí odkaz na další vlastnosti.Chcete-li spustit tento příklad-in, viz Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu.

Výchozí cesty pro odkazy přidané jsou: < kořenový adresář instalace >\Program Files\Microsoft.NET\Primary sestavení Interop pro adodb.dll, a < kořenový adresář instalace >\Program Files\Common Files\SpeechEngines\Microsoft pro spcommon.dll.Nahradit < cesta > v příkladu se tyto nebo jiné cest.

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

Viz také

Referenční dokumentace

VSLangProj80 – obor názvů

Reference