Reference-Schnittstelle

Stellt einen Verweis im Projekt dar. Wenn Sie einen Verweis in ein Projekt einfügen, können Sie alle öffentlichen Member verwenden, die im Verweis enthalten sind. Projekte können Verweise auf andere .NET-Projekte, .NET-Assemblys und COM-Objekte umfassen.

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

Syntax

'Declaration
<GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")> _
Public Interface Reference
[GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")]
public interface Reference
[GuidAttribute(L"35D6FB50-35B6-4C81-B91C-3930B0D95386")]
public interface class Reference
[<GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")>]
type Reference =  interface end
public interface Reference

Der Reference-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft BuildNumber Ruft die Buildnummer des Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft Collection Ruft die Auflistung mit dem Objekt ab, das diese Eigenschaft unterstützt oder das in diesem Codekonstrukt enthalten ist.
Öffentliche Eigenschaft ContainingProject Ruft das Projekt ab, in dem das ausgewählte Element enthalten ist.Schreibgeschützt.
Öffentliche Eigenschaft CopyLocal Legt fest, ob der Verweis in das lokale Bin-Verzeichnis kopiert wird.
Öffentliche Eigenschaft Culture Ruft die Culture-Zeichenfolge eines Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft Description Ruft eine Textbeschreibung des Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft DTE Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Öffentliche Eigenschaft Extender Ruft das angeforderte Extenderobjekt ab, falls es für dieses Objekt verfügbar ist.
Öffentliche Eigenschaft ExtenderCATID Ruft die ID der Extenderkategorie (CATID) für das Objekt ab.
Öffentliche Eigenschaft ExtenderNames Ruft eine Liste der für das Objekt verfügbaren Extender ab.
Öffentliche Eigenschaft Identity Ruft den eindeutigen Bezeichner des Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft MajorVersion Ruft die Hauptversionsnummer des Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft MinorVersion Ruft die Nebenversionsnummer des Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft Name Ruft den Namen des Objekts ab.Schreibgeschützt.
Öffentliche Eigenschaft Path Ruft den Pfad zur Verweisdatei ab.Schreibgeschützt.
Öffentliche Eigenschaft PublicKeyToken Ruft das öffentliche Schlüsseltoken der Assembly ab, auf die verwiesen wird.
Öffentliche Eigenschaft RevisionNumber Ruft die Revisionsnummer des Verweises ab.Schreibgeschützt.
Öffentliche Eigenschaft SourceProject Ruft ein Project-Objekt ab, wenn es sich bei dem Verweis um ein Projekt handelt.Andernfalls wird Nothing (ein nullein Nullverweis (Nothing in Visual Basic)-Verweis) zurückgegeben.Schreibgeschützt.
Öffentliche Eigenschaft StrongName Stellt fest, ob der Verweis mit einem Schlüsselpaar aus einem öffentlichen und einem privaten Schlüssel signiert ist.Schreibgeschützt.
Öffentliche Eigenschaft Type Ruft einen prjReferenceType-Wert ab, der angibt, ob der Verweis eine Assembly oder eine COM-Komponente ist.Schreibgeschützt.
Öffentliche Eigenschaft Version Ruft die Version des ausgewählten Verweises ab.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Remove Ruft den Verweis aus dem References-Objekt ab, in dem der Verweis enthalten ist.

Zum Seitenanfang

Hinweise

Reference-Objekte sind in der References-Auflistung des VSProject-Objekts enthalten. Es gibt zwei Arten von Reference-Objekten: Assemblys (einschließlich Visual Studio-Projekten) und COM-Objekte. Wenn es sich bei einem Verweis um ein anderes Projekt handelt, wird dieser Verweis als Projekt-zu-Projekt-Verweis bezeichnet und immer noch als Assemblyverweis betrachtet.

Beispiele

Im folgenden Beispiel wird ein neues Projekt aus einer Vorlage erstellt. Außerdem werden zwei Verweise hinzugefügt, deren Typ angezeigt wird.

'Macro Editor
Imports VSLangProj
Sub NewProject()
   Dim newName As String = InputBox("New project name:")
   ' Create a new project in the solution based on an existing
   ' project.
   Dim newProject As Project = DTE.Solution.AddFromTemplate( _
      "C:\TemplatePath\Template.vbproj", _
      "C:\ProjectPath\" & newName, newName)
        
   ' Add a COM reference and display its type.
   Dim vsProject As VSProject = CType(newProject.Object, VSProject)
   Dim newRef As Reference
   newRef = vsProject.References.Add("C:\WINNT\System32\msmask32.ocx")
   MsgBox(GetRefTypeName(newRef))
        
   ' Add an Assembly reference and display its type, "Assembly".
   newRef = vsProject.References.Add("C:\SomeProject\bin\SomeProject.dll")
   MsgBox(GetRefTypeName(newRef))
End Sub

Private Function GetRefTypeName(ByVal ref As Reference) _
   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

Im folgenden Beispiel wird ein kurzer Bericht über die Eigenschaften eines Verweises erstellt.

' Macro Editor
' Create a small report about a reference.
Imports VSLangProj
Function ReportReferences(ByVal aRef As Reference) As String
   Dim report As String = ""
   Dim type As String
   ' Each entry in the ArrayList will contain 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

Siehe auch

Referenz

VSLangProj-Namespace