Ағылшын тілінде оқу

Бөлісу құралы:


Практическое руководство. Поиск полного имени сборки

Чтобы получить полное имя сборки .NET Framework в глобальном кэше сборок, используйте средство глобального кэша сборок (Gacutil.exe). См. практическое руководство. Просмотр содержимого глобального кэша сборок.

Получить полное имя сборки .NET Core или .NET Framework, которая отсутствует в глобальном кэше сборок, можно несколькими способами:

  • Вы можете использовать код для вывода данных в консоль или в переменную либо применить дизассемблер IL Ildasm.exe для просмотра метаданных сборки, которые содержат полное имя.

  • Если сборка уже загружена приложением, то для получения полного имени можно извлечь значение свойства Assembly.FullName. Для получения ссылки на объект Assembly можно использовать свойство Assembly объекта Type, определенного в этой сборке. Иллюстрация приведена в примере.

  • Если вы знаете путь к файлу сборки в системе, то можете вызвать метод AssemblyName.GetAssemblyNamestatic (C#) или Shared (Visual Basic), чтобы получить полное имя сборки. Ниже приведен простой пример.

    C#
    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          Console.WriteLine(AssemblyName.GetAssemblyName(@".\UtilityLibrary.dll"));
       }
    }
    // The example displays output like the following:
    //   UtilityLibrary, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
    
  • Вы можете воспользоваться дизассемблером IL (Ildasm.exe), чтобы просмотреть метаданные сборки, которые содержат ее полное имя.

Подробнее о задании атрибутов сборки, таких как версия, язык и региональные параметры и имя сборки, см. в разделе Настройка атрибутов сборки. Подробнее о присвоении сборке строгого имени см. в разделе Создание и использование сборок со строгими именами.

Пример

В примере ниже показано, как просмотреть полное имя сборки, содержащей указанный класс, в консоли. Для получения ссылки на сборку из типа, определенного в этой сборке, используется свойство Type.Assembly.

C#
using System;
using System.Reflection;

class asmname
{
    public static void Main()
    {
        Type t = typeof(System.Data.DataSet);
        string s = t.Assembly.FullName.ToString();
        Console.WriteLine("The fully qualified assembly name " +
            "containing the specified class is {0}.", s);
    }
}

См. также