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

请参阅

参考

VSLangProj2 命名空间