Reference Интерфейс

Определение

Представляет одну ссылку в данном проекте. Включение ссылки в проект позволяет использовать любой из открытых элементов, содержащихся в этой ссылке. Проекты могут включать ссылки на другие проекты .NET, сборки .NET и COM-объекты.

public interface class Reference
public interface class Reference
__interface Reference
[System.Runtime.InteropServices.Guid("35D6FB50-35B6-4C81-B91C-3930B0D95386")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface Reference
[<System.Runtime.InteropServices.Guid("35D6FB50-35B6-4C81-B91C-3930B0D95386")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type Reference = interface
Public Interface 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  

Комментарии

Reference объекты содержатся в VSProject References коллекции объекта. Существует два типа Reference объектов: сборки (включая проекты Visual Studio) и COM-объекты. Если ссылка является другим проектом, это называется ссылкой проекта на проект и по-прежнему считается ссылкой на сборку.

Свойства

BuildNumber

Получает номер построения ссылки. Только для чтения.

Collection

Получает коллекцию, содержащую объект, который поддерживает это свойство или содержится в этой конструкции кода.

ContainingProject

Получает проект, частью которого является выбранный элемент. Только для чтения.

CopyLocal

Определяет, будет ли ссылка копироваться в локальную папку Bin.

Culture

Получает строку языка и региональных параметров ссылки. Только для чтения.

Description

Получает текстовое описание ссылки. Только для чтения.

DTE

Возвращает объект расширения верхнего уровня.

Extender[String]

Возвращает запрашиваемый объект-расширитель, если он доступен для данного объекта.

ExtenderCATID

Возвращает идентификатор категории расширителя (CATID) для объекта.

ExtenderNames

Возвращает список доступных для объекта расширителей.

Identity

Возвращает уникальный идентификатор ссылки. Только для чтения.

MajorVersion

Получает основной номер версии ссылки. Только для чтения.

MinorVersion

Получает дополнительный номер версии ссылки. Только для чтения.

Name

Возвращает имя объекта. Только для чтения.

Path

Получает путь к файлу ссылки. Только для чтения.

PublicKeyToken

Получает токен открытого ключа для сборки в ссылке.

RevisionNumber

Получает номер редакции ссылки. Только для чтения.

SourceProject

Возвращает объект проекта, если ссылка является проектом. В противном случае возвращается Nothing (пустая ссылка). Только для чтения.

StrongName

Получает значение, указывающее, подписана ли ссылка парой открытого и закрытого ключа. Только для чтения.

Type

Получает значение prjReferenceType, указывающее, является ли ссылка сборкой или компонентом COM. Только для чтения.

Version

Получает версию выбранной ссылки.

Методы

Remove()

Получает ссылку из объекта References, в котором она содержится.

Применяется к