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


Reference3.Identity - свойство

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

Пространство имен:  VSLangProj80
Сборка:  VSLangProj80 (в VSLangProj80.dll)

Синтаксис

'Декларация
ReadOnly Property Identity As String
    Get
string Identity { get; }
property String^ Identity {
    String^ get ();
}
abstract Identity : string
function get Identity () : String

Значение свойства

Тип: System.String
Возвращаемая строка зависит от ссылочного типа.

Ссылочный тип

Возвращаемое значение

Сборка

Имя сборки (имя сборки без пути и без расширения)

COM

Формат:

"GUID\основной_номер_версии.дополнительный_номер_версии\код_языка\инструмент_создания_оболочек"

Например:

"{00000205-0000-0010-8000-00AA006D2EA4}\2.5\409\tlbimp"

возвращается для объектов данных ActiveX 2.5.

Собственная

Идентификация сборки, на которую указывает ссылка.

Реализации

Reference2.Identity

Заметки

Все компоненты имеют уникальный идентификатор. Свойство Identity возвращает данную информацию. Данное свойство уникально для каждой ссылки, поскольку при попытке добавить ссылку с уже существующей в коллекции идентификацией возникает исключение. Это свойство подходит для индексирования коллекции Reference3 с помощью метода Item.

Примеры

В данном примере добавляются сборка и COM-ссылка в открытый проект Visual Basic или Visual C# и для каждой из них отображается свойство Identity. О том, как выполнить этот пример в качестве надстройки, см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

Пути по умолчанию для добавляемой ссылки: <корневая папка установки>\Program Files\Microsoft.NET\Primary Interop Assemblies для adodb.dll и <корневая папка установки>\Program Files\Common Files\SpeechEngines\Microsoft для spcommon.dll. Замените <путь к файлу> в примере этими или другими подходящими путями.

Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    ShowIdentity (applicationObject)
End Sub
Sub ShowIdentity(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject As VSProject2
    aProject = applicationObject.Solution.Projects.Item(1)
    aVSProject = _
CType(applicationObject.Solution.Projects.Item(1).Object, VSProject2)
    ' Add an Assembly reference and display its identity.
    Dim newRef As Reference3
    ' Replace the <file path> with an actual file path.
    newRef = aVSProject.References.Add("<file path>\adodb.dll")
    MsgBox("Added an Assembly reference, named: " & newRef.Name)
    MsgBox("The Identity of " & newRef.Name & " is " & newRef.Identity)
    ' Add a COM reference and display its identity.
    ' Replace the <file path> with an actual file path.
    newRef = aVSProject.References.Add("<file path>\spcommon.dll")
    MsgBox("Added a COM reference, named: " & newRef.Name)
    MsgBox("The Identity of " & newRef.Name & " is " & newRef.Identity)
End Sub
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    ShowIdentity(((DTE2)applicationObject));
}
public void ShowIdentity(DTE2 dte)
{
    // The first project is a Visual Basic or C# project.
    VSProject2 vsProject = 
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
    Reference3 aRef = null;
    // Add an Assembly reference and display its identity.
    // Replace <file path> with an actual file path.
    aRef = (Reference3)vsProject.References.Add
(@"<file path>\adodb.dll");
    MessageBox.Show("Added an Assembly reference, named: " 
+ aRef.Name);
    MessageBox.Show("The Identity of " + aRef.Name + " is " 
+ aRef.Identity);
    // Add a COM reference and display its identity.
    // Replace <file path> with an actual file path.
    aRef = (Reference3)vsProject.References.Add
(@"<file path>\spcommon.dll");
    MessageBox.Show("Added a COM reference, named: " 
+ aRef.Name);
    MessageBox.Show("The Identity of " + aRef.Name + " is " 
+ aRef.Identity);
}

Безопасность платформы .NET Framework

См. также

Ссылки

Reference3 Интерфейс

Identity - перегрузка

VSLangProj80 - пространство имен