Procedimiento para buscar el nombre completo de un ensamblado

Para conocer el nombre completo de un ensamblado de .NET Framework en la caché global de ensamblados, use la herramienta de esa caché (Gacutil.exe). Vea Cómo: Consultar el contenido de la caché global de ensamblados.

En el caso de los ensamblados de .NET Core, y para los ensamblados de .NET Framework que no están en la caché global de ensamblados, puede obtener el nombre completo del ensamblado de varias maneras:

  • Puede usar código para mostrar esta información en la consola o en una variable; o bien puede usar Ildasm.exe (el desensamblador de IL) para examinar los metadatos del ensamblado, los cuales contienen el nombre completo.

  • Si el ensamblado ya está cargado por la aplicación, puede recuperar el valor de la propiedad Assembly.FullName para obtener el nombre completo. Puede usar la propiedad Assembly de un Type definido en ese ensamblado para recuperar una referencia al objeto Assembly. En este ejemplo se ilustra.

  • Si conoce la ruta de acceso al sistema de archivos del ensamblado, puede llamar al método static (C#) o Shared (Visual Basic) AssemblyName.GetAssemblyName para obtener el nombre completo del ensamblado. Este es un ejemplo sencillo.

    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
    
  • Puede usar Ildasm.exe (Desensamblador de MSIL) para examinar los metadatos del ensamblado, que contiene el nombre completo.

Para más información sobre el establecimiento de atributos del ensamblado como la versión, la referencia cultural y el nombre de ensamblado, vea Establecimiento de atributos de ensamblado. Para más información sobre cómo poner un nombre seguro a un ensamblado, vea Creación y uso de ensamblados con nombre seguro.

Ejemplo

En el siguiente ejemplo se indica cómo mostrar el nombre completo de un ensamblado que contiene una clase especificada en la consola. Utiliza la propiedad Type.Assembly para recuperar una referencia a un ensamblado de un tipo que se define en ese ensamblado.

#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

Vea también