Como: Localizar o nome totalmente qualificado de um assembly

Para descobrir o nome totalmente qualificado de um assembly do .NET Framework no cache de assembly global, use a ferramenta Global Assembly Cache (Gacutil.exe). Consulte Como: Exibir o conteúdo do cache de assembly global.

Para assemblies .NET Core e para assemblies .NET Framework que não estão no cache de assembly global, você pode obter o nome de assembly totalmente qualificado de várias maneiras:

  • Você pode usar o código para enviar as informações para o console ou para uma variável, ou você pode usar o Ildasm.exe (IL Disassembler) para examinar os metadados do assembly, que contém o nome totalmente qualificado.

  • Se o assembly já estiver carregado pelo aplicativo, você poderá recuperar o Assembly.FullName valor da propriedade para obter o nome totalmente qualificado. Você pode usar a Assembly propriedade de um Type definido nesse assembly para recuperar uma referência ao Assembly objeto. O exemplo fornece uma ilustração.

  • Se você souber o caminho do sistema de arquivos do assembly, poderá chamar o static método (C#) ou Shared (Visual Basic) AssemblyName.GetAssemblyName para obter o nome do assembly totalmente qualificado. Segue-se um exemplo simples.

    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
    
  • Você pode usar o Ildasm.exe (IL Disassembler) para examinar os metadados do assembly, que contém o nome totalmente qualificado.

Para obter mais informações sobre como definir atributos de assembly, como versão, cultura e nome de assembly, consulte Definir atributos de assembly. Para obter mais informações sobre como dar um nome forte a um assembly, consulte Criar e usar assemblies de nome forte.

Exemplo

O exemplo a seguir mostra como exibir o nome totalmente qualificado de um assembly que contém uma classe especificada para o console. Ele usa a Type.Assembly propriedade para recuperar uma referência a um assembly de um tipo definido nesse assembly.

#using <System.dll>
#using <System.Data.dll>

using namespace System;
using namespace System::Reflection;

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

int main()
{
    asmname::Main();
}
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

Consulte também