Share via


Reference 接口

表示项目中的一个引用。 在项目中包含引用,使您可以使用该引用中包含的任意公共成员。 项目可以包含对其他 .NET 项目、.NET 程序集和 COM 对象的引用。

命名空间:  VSLangProj
程序集:  VSLangProj(在 VSLangProj.dll 中)

语法

声明
<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

Reference 类型公开以下成员。

属性

  名称 说明
公共属性 BuildNumber 获取引用的生成号。只读。
公共属性 Collection 获取包含某个对象的集合,该对象支持此属性或包含在此代码构造中。
公共属性 ContainingProject 获取选定项所属的项目。只读。
公共属性 CopyLocal 确定是否将引用复制到本地 Bin 路径。
公共属性 Culture 获取引用的区域性字符串。只读。
公共属性 Description 获取引用的文本说明。只读。
公共属性 DTE 获取顶级扩展性对象。
公共属性 Extender 如果请求的扩展程序对象可用于此对象,则获取该扩展程序对象。
公共属性 ExtenderCATID 获取对象的扩展程序类别 ID (CATID)。
公共属性 ExtenderNames 获取对象的可用扩展程序的列表。
公共属性 Identity 获取引用的唯一标识符。只读。
公共属性 MajorVersion 获取引用的主版本号。只读。
公共属性 MinorVersion 获取引用的次版本号。只读。
公共属性 Name 获取对象的名称。只读。
公共属性 Path 获取引用文件的路径。只读。
公共属性 PublicKeyToken 获取引用的程序集的公钥标记。
公共属性 RevisionNumber 获取引用的修订号。只读。
公共属性 SourceProject 如果引用是一个项目,则获取 Project 对象。否则,它返回 Nothing(nullnull 引用(在 Visual Basic 中为 Nothing) 引用)。只读。
公共属性 StrongName 获取指示引用是否用公钥/私钥对加以签名的值。只读。
公共属性 Type 获取一个 prjReferenceType 值,它指示引用是程序集还是 COM 组件。只读。
公共属性 Version 获取选定引用的版本。

页首

方法

  名称 说明
公共方法 Remove 获取从 References 对象中包含应用的引用。

页首

备注

Reference 对象包含在 VSProject 对象的 References 集合中。 Reference 对象有两种类型:程序集(包括 Visual Studio 项目)和 COM 对象。 当引用是另一个项目时,称为项目到项目的引用,但仍视为程序集引用。

示例

下面的示例从模板创建一个新项目,然后添加两个引用,并显示引用的类型。

'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

请参阅

参考

VSLangProj 命名空间