Поделиться через


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 Получает идентификатор категории расширителя (CATID) для объекта.
Открытое свойство ExtenderNames Получает список доступных расширителей для объекта.
Открытое свойство Identity Возвращает уникальный идентификатор ссылки.Только для чтения.
Открытое свойство MajorVersion Получает основной номер версии ссылки.Только для чтения.
Открытое свойство MinorVersion Получает дополнительный номер версии ссылки.Только для чтения.
Открытое свойство Name Возвращает имя объекта.Только для чтения.
Открытое свойство Path Получает путь к файлу ссылки.Только для чтения.
Открытое свойство PublicKeyToken Получает токен открытого ключа для сборки в ссылке.
Открытое свойство RevisionNumber Получает номер редакции ссылки.Только для чтения.
Открытое свойство SourceProject Получает объект Project, если ссылка является проектом.В противном случае возвращается Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)).Только для чтения.
Открытое свойство StrongName Получает значение, указывающее, подписана ли ссылка парой открытого и закрытого ключа.Только для чтения.
Открытое свойство Type Получает значение prjReferenceType, указывающее, является ли ссылка сборкой или компонентом COM.Только для чтения.
Открытое свойство Version Получает версию выбранной ссылки.

В начало страницы

Методы

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

В начало страницы

Заметки

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

Примеры

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

'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 - пространство имен