Reference2-Schnittstelle
Aktualisiert: November 2007
Erweitert die Reference-Schnittstelle des VSLangProj-Namespaces.
Namespace: VSLangProj2
Assembly: VSLangProj2 (in VSLangProj2.dll)
Syntax
<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")> _
Public Interface Reference2 _
Implements Reference
Dim instance As Reference2
[GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface Reference2 : Reference
[GuidAttribute(L"4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface class Reference2 : Reference
public interface Reference2 extends Reference
Hinweise
Die von der References-Auflistung des VSProject-Objekts zurückgegebenen Reference-Objekte unterstützen sowohl die Reference-Schnittstelle als auch die Reference2-Schnittstelle. Wandeln Sie das Objekt in Reference2 um, um auf die Reference2-Member zuzugreifen.
Von Reference2 werden alle im VSLangProj-Namespace gefundenen Reference-Member und zusätzlich die folgende Eigenschaft definiert:
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