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
'Usage
Dim instance As Reference
[GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386")] 
public interface Reference
[GuidAttribute(L"35D6FB50-35B6-4C81-B91C-3930B0D95386")] 
public interface class Reference
/** @attribute GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386") */ 
public interface Reference
GuidAttribute("35D6FB50-35B6-4C81-B91C-3930B0D95386") 
public interface Reference

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.

Beispiel

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

Reference-Member
VSLangProj-Namespace