Condividi tramite


Interfaccia Reference3

estende Reference2 interfaccia di VSLangProj2 spazio dei nomi.

Spazio dei nomi:  VSLangProj80
Assembly:  VSLangProj80 (in VSLangProj80.dll)

Sintassi

'Dichiarazione
<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

Il tipo Reference3 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica Aliases Ottiene o imposta i nomi con alias per il riferimento specificato.questa proprietà si applica a Visual C# solo.
Proprietà pubblica AutoReferenced Indica se il riferimento automaticamente viene fatto riferimento dal compilatore.
Proprietà pubblica BuildNumber (Ereditato da Reference2)
Proprietà pubblica BuildNumber Ottiene il numero di build del riferimento.
Proprietà pubblica Collection (Ereditato da Reference2)
Proprietà pubblica Collection Ottiene una raccolta di References.
Proprietà pubblica ContainingProject (Ereditato da Reference2)
Proprietà pubblica ContainingProject ottiene Project contiene il riferimento.
Proprietà pubblica CopyLocal (Ereditato da Reference2)
Proprietà pubblica CopyLocal Ottiene o imposta se il riferimento viene copiato nel percorso binario locale.
Proprietà pubblica Culture (Ereditato da Reference2)
Proprietà pubblica Culture Ottiene la stringa delle impostazioni cultura di riferimento.
Proprietà pubblica Description (Ereditato da Reference2)
Proprietà pubblica Description Ottiene una descrizione del testo del riferimento.
Proprietà pubblica DTE (Ereditato da Reference2)
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica Extender[String] (Ereditato da Reference2)
Proprietà pubblica Extender[String] Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica ExtenderCATID (Ereditato da Reference2)
Proprietà pubblica ExtenderCATID Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica ExtenderNames (Ereditato da Reference2)
Proprietà pubblica ExtenderNames Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica Identity (Ereditato da Reference2)
Proprietà pubblica Identity Ottiene l'identificatore univoco del riferimento.
Proprietà pubblica Isolated Ottiene o imposta se il riferimento COM è isolato, ovvero, non registrato con windows.
Proprietà pubblica MajorVersion (Ereditato da Reference2)
Proprietà pubblica MajorVersion Ottiene il numero di versione principale del riferimento.
Proprietà pubblica MinorVersion (Ereditato da Reference2)
Proprietà pubblica MinorVersion Ottiene il numero di versione secondario del riferimento.
Proprietà pubblica Name (Ereditato da Reference2)
Proprietà pubblica Name Ottiene il nome dell'oggetto.
Proprietà pubblica Path (Ereditato da Reference2)
Proprietà pubblica Path Ottiene il percorso del file di riferimento.
Proprietà pubblica PublicKeyToken (Ereditato da Reference2)
Proprietà pubblica PublicKeyToken ottiene il token di chiave pubblica da un riferimento forte con segno.
Proprietà pubblica RefType ottiene il tipo di riferimento: assembly, COM, o nativo.
Proprietà pubblica Resolved Indica se il riferimento corrente è stato risolto.
Proprietà pubblica RevisionNumber (Ereditato da Reference2)
Proprietà pubblica RevisionNumber Ottiene il numero di revisione di riferimento.
Proprietà pubblica RuntimeVersion (Ereditato da Reference2)
Proprietà pubblica RuntimeVersion Ottiene la versione del runtime con cui il riferimento è stato compilato.È applicabile solo a riferimenti.NET.
Proprietà pubblica SourceProject (Ereditato da Reference2)
Proprietà pubblica SourceProject Ottiene un oggetto Project oggetto se il riferimento è un progetto.In caso contrario, restituisce Nothing (un oggetto null).
Proprietà pubblica SpecificVersion Ottiene o imposta se solo una versione specifica di riferimento viene utilizzata.
Proprietà pubblica StrongName (Ereditato da Reference2)
Proprietà pubblica StrongName Indica se il riferimento è firmato con una coppia di chiavi pubblica/privata.
Proprietà pubblica SubType Imposta o ottiene il sottotipo dell'assembly.
Proprietà pubblica Type (Ereditato da Reference2)
Proprietà pubblica Type obsoleto.Incluso per compatibilità con le versioni precedenti.utilizzo RefType anziché.
Proprietà pubblica Version (Ereditato da Reference2)
Proprietà pubblica Version Ottiene la versione del riferimento specificato.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Remove() (Ereditato da Reference2)
Metodo pubblico Remove() Rimuove il riferimento da References l'oggetto che lo contiene.

In alto

Note

Reference3 definisce i seguenti nuovi parametri:

Aliases

AutoReferenced

Isolated

RefType

SpecificVersion

Esempi

Nell'esempio seguente vengono aggiunti due riferimenti a un elemento aperto Visual Basic o Visual C# progetto.Chiama quindi una funzione, GetRefTypeName, per visualizzare il tipo di riferimento e chiama una funzione, ReportReferences, per visualizzare le proprietà di riferimento aggiuntive.Per eseguire questo esempio viene illustrato come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

i percorsi predefiniti per i riferimenti aggiunti sono: <radice dell'installazione> \Program Files\Microsoft.NET\Primary Interop Assemblies per adodb.dll e <radice dell'installazione> \Program Files\Common Files\SpeechEngines\Microsoft per spcommon.dll.Sostituire <percorso del file> nell'esempio con questi o altri percorsi dei file appropriati.

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

Vedere anche

Riferimenti

Spazio dei nomi VSLangProj80

Reference