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