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