Reference2 接口
扩展 VSLangProj 命名空间的 Reference 接口。
命名空间: VSLangProj2
程序集: VSLangProj2(在 VSLangProj2.dll 中)
语法
声明
<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")> _
Public Interface Reference2 _
Inherits Reference
[GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface Reference2 : Reference
[GuidAttribute(L"4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface class Reference2 : Reference
[<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")>]
type Reference2 =
interface
interface Reference
end
public interface Reference2 extends Reference
Reference2 类型公开以下成员。
属性
名称 | 说明 | |
---|---|---|
BuildNumber | 获取引用的生成号。只读。 | |
Collection | 获取一个 References 集合。 | |
ContainingProject | 获取包含该引用的 Project。 | |
CopyLocal | 确定是否将引用复制到本地 Bin 路径。 | |
Culture | 获取引用的区域性字符串。只读。 | |
Description | 获取引用的文本说明。只读。 | |
DTE | 获取顶级扩展性对象。 | |
Extender | 如果所请求的扩展程序对象可用于此对象,则返回该扩展程序对象。 | |
ExtenderCATID | 获取对象的扩展程序类别 ID (CATID)。 | |
ExtenderNames | 获取对象的可用扩展程序的列表。 | |
Identity | 获取引用的唯一标识符。只读。 | |
MajorVersion | 获取引用的主版本号。只读。 | |
MinorVersion | 获取引用的次版本号。只读。 | |
Name | 获取对象的名称。只读。 | |
Path | 获取引用文件的路径。只读。 | |
PublicKeyToken | 获取引用的程序集的公钥标记。 | |
RevisionNumber | 获取引用的修订号。只读。 | |
RuntimeVersion | 获取和设置生成的引用所针对的运行时的版本。只读。 | |
SourceProject | 如果引用是一个项目,则获取 Project 对象。否则,它返回 Nothing(nullnull 引用(在 Visual Basic 中为 Nothing) 引用)。只读。 | |
StrongName | 获取指示引用是否用公钥/私钥对加以签名的值。只读。 | |
Type | 获取一个 prjReferenceType 值,它指示引用是程序集还是 COM 组件。只读。 | |
Version | 获取选定引用的版本。 |
页首
方法
名称 | 说明 | |
---|---|---|
Remove | 将引用从包含它的 References 对象中移除。 |
页首
备注
由 VSProject 对象的 References 集合返回的 Reference 对象支持 Reference 接口和 Reference2 接口。 将该对象强制转换为 Reference2 以便访问 Reference2 成员。
Reference2 定义在 VSLangProj 命名空间中找到的所有 Reference 成员以及下列项:
示例
下面的示例从模板创建一个新项目,然后添加两个引用,并显示引用的类型。
'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
下面的示例创建某个引用属性的简短报告。
' 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