Udostępnij za pośrednictwem


Interfejs Reference3

Rozszerza Reference2 interfejsu VSLangProj2 obszaru nazw.

Przestrzeń nazw:  VSLangProj80
Zestaw:  VSLangProj80 (w VSLangProj80.dll)

Składnia

'Deklaracja
<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 uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna Aliases Zwraca lub ustawia nazwy aliasu określonym odwołaniu.Właściwość ta ma zastosowanie do Visual C# tylko.
Właściwość publiczna AutoReferenced Pobiera się, czy kompilator automatycznie do których odwołuje się odwołanie.
Właściwość publiczna BuildNumber (Odziedziczone z Reference2).
Właściwość publiczna BuildNumber Pobiera numer kompilacji odniesienia.
Właściwość publiczna Collection (Odziedziczone z Reference2).
Właściwość publiczna Collection Zwraca kolekcję References.
Właściwość publiczna ContainingProject (Odziedziczone z Reference2).
Właściwość publiczna ContainingProject Pobiera Project zawierający odwołanie.
Właściwość publiczna CopyLocal (Odziedziczone z Reference2).
Właściwość publiczna CopyLocal Pobiera lub ustawia, czy odwołanie jest kopiowany do ścieżki lokalnej pojemnika.
Właściwość publiczna Culture (Odziedziczone z Reference2).
Właściwość publiczna Culture Pobiera ciąg kultury odwołanie.
Właściwość publiczna Description (Odziedziczone z Reference2).
Właściwość publiczna Description Pobiera opis tekstowy odniesienia.
Właściwość publiczna DTE (Odziedziczone z Reference2).
Właściwość publiczna DTE Pobiera obiekt rozszerzalności najwyższego poziomu.
Właściwość publiczna Extender[String] (Odziedziczone z Reference2).
Właściwość publiczna Extender[String] Infrastruktura. Microsoft tylko do użytku wewnętrznego.
Właściwość publiczna ExtenderCATID (Odziedziczone z Reference2).
Właściwość publiczna ExtenderCATID Infrastruktura. Microsoft tylko do użytku wewnętrznego.
Właściwość publiczna ExtenderNames (Odziedziczone z Reference2).
Właściwość publiczna ExtenderNames Infrastruktura. Microsoft tylko do użytku wewnętrznego.
Właściwość publiczna Identity (Odziedziczone z Reference2).
Właściwość publiczna Identity Pobiera identyfikator unikatowy odniesienia.
Właściwość publiczna Isolated Pobiera lub ustawia, czy odwołanie COM jest izolowany, to znaczy nie zarejestrowane w systemie Windows.
Właściwość publiczna MajorVersion (Odziedziczone z Reference2).
Właściwość publiczna MajorVersion Pobiera numer wersji głównej odwołania.
Właściwość publiczna MinorVersion (Odziedziczone z Reference2).
Właściwość publiczna MinorVersion Pobiera numer wersji pomocniczej odwołania.
Właściwość publiczna Name (Odziedziczone z Reference2).
Właściwość publiczna Name Pobiera nazwę obiektu.
Właściwość publiczna Path (Odziedziczone z Reference2).
Właściwość publiczna Path Pobiera ścieżkę do pliku odniesienia.
Właściwość publiczna PublicKeyToken (Odziedziczone z Reference2).
Właściwość publiczna PublicKeyToken Pobiera token klucza publicznego z zdecydowanie podpisane odniesienia.
Właściwość publiczna RefType Pobiera typ odwołania: montażu, COM lub w trybie macierzystym.
Właściwość publiczna Resolved Pobiera się, czy odwołanie do bieżącego został rozwiązany.
Właściwość publiczna RevisionNumber (Odziedziczone z Reference2).
Właściwość publiczna RevisionNumber Pobiera numer poprawki odniesienia.
Właściwość publiczna RuntimeVersion (Odziedziczone z Reference2).
Właściwość publiczna RuntimeVersion Pobiera wersja aparatu plików wykonywalnych, przeciwko której został zbudowany odniesienia.Ma to zastosowanie tylko do.NET odniesienia.
Właściwość publiczna SourceProject (Odziedziczone z Reference2).
Właściwość publiczna SourceProject Pobiera Project obiektu, jeśli odwołanie dotyczy projektu.W przeciwnym razie zwraca Nothing (obiekt null).
Właściwość publiczna SpecificVersion Pobiera lub ustawia, czy ma być używany w określonej wersji odniesienia.
Właściwość publiczna StrongName (Odziedziczone z Reference2).
Właściwość publiczna StrongName Pobiera się, czy odwołanie jest podpisany za pomocą pary kluczy publicznych i prywatnych.
Właściwość publiczna SubType Ustawia lub pobiera podtypu zestawu.
Właściwość publiczna Type (Odziedziczone z Reference2).
Właściwość publiczna Type Nieaktualne.Włączone, zgodność z poprzednimi wersjami.Użyj RefType zamiast.
Właściwość publiczna Version (Odziedziczone z Reference2).
Właściwość publiczna Version Pobiera wersję określonym odwołaniu.

Początek

Metody

  Nazwa Opis
Metoda publiczna Remove() (Odziedziczone z Reference2).
Metoda publiczna Remove() Usuwa odwołanie od References obiekt, który go zawiera.

Początek

Uwagi

Reference3 definiuje nowe następujące parametry:

Aliases

AutoReferenced

Isolated

RefType

SpecificVersion

Przykłady

W następującym przykładzie dodano dwa odniesienia do otwartego Visual Basic lub Visual C# projektu.Następnie wywołuje funkcję GetRefTypeName, aby wyświetlić typ odwołania i wywołuje funkcję ReportReferences, aby wyświetlić właściwości dodatkowe odniesienia.Aby uruchomić ten przykład, jako dodatek, zobacz Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji.

Ścieżki domyślnej dla odwołania dodano są: < instalacji głównego >\Program Files\Microsoft.NET\Primary zespołów Interop na adodb.dll, i < instalacji głównego >\Program Files\Common Files\SpeechEngines\Microsoft do spcommon.dll.Zamień < ścieżka pliku > w przykładzie z tych lub innych ścieżek odpowiedni plik.

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

Zobacz też

Informacje

Przestrzeń nazw VSLangProj80

Reference