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


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

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

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

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

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

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

    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
    
    Imports System.Reflection
    
    Public Module Example
       Public Sub Main
          Console.WriteLine(AssemblyName.GetAssemblyName(".\UtilityLibrary.dll"))
       End Sub
    End Module
    ' The example displays output like the following:
    '   UtilityLibrary, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
    
  • Вы можете использовать Ildasm.exe (IL Disassembler) для проверки метаданных сборки, которые содержат полное имя.

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

Пример

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

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);
    }
}
Imports System.Reflection

Class asmname
    Public Shared Sub Main()
        Dim t As Type = GetType(System.Data.DataSet)
        Dim s As String = t.Assembly.FullName.ToString()
        Console.WriteLine("The fully qualified assembly name " +
            "containing the specified class is {0}.", s)
    End Sub
End Class

См. также