Compartilhar via


Como localizar o nome totalmente qualificado de um assembly

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

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

  • Você pode usar código para produzir a saída de informações para o console ou para uma variável ou 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 valor da propriedade Assembly.FullName para obter o nome totalmente qualificado. Você pode usar a propriedade Assembly de um Type definido naquele assembly para recuperar uma referência ao objeto Assembly. O exemplo fornece uma ilustração.

  • Se você souber o caminho do sistema de arquivos do assembly, poderá chamar o método static (C#) ou Shared (Visual Basic) AssemblyName.GetAssemblyName para obter o nome totalmente qualificado do assembly. A seguir há 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 definir atributos de assembly, como a versão, a cultura e o nome do assembly, consulte Definir atributos do assembly. Para obter mais informações sobre como atribuir um nome forte a um assembly, consulte Criar e usar assemblies de nomes fortes.

Exemplo

O exemplo a seguir mostra como exibir o nome totalmente qualificado de um assembly que contém uma classe especificada no console. Ele usa a propriedade Type.Assembly 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

Confira também