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