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#) ouShared
(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