Vorgehensweise: Ermitteln des vollqualifizierten Namens einer Assembly

Verwenden Sie das Tool für den globalen Assemblycache (Gacutil.exe), um den vollqualifizierten Namen einer .NET Framework-Assembly im globalen Assemblycache zu ermitteln. Weitere Informationen finden Sie unter How to: Vorgehensweise: Anzeigen der Inhalte des globalen Assemblycaches.

Für .NET Core- und .NET Framework-Assemblys, die sich nicht im globalen Assemblycache befinden, können Sie den vollqualifizierten Assemblynamen auf verschiedene Weisen abrufen:

  • Sie können Code verwenden, um die Informationen in der Konsole oder in einer Variable auszugeben, oder Sie können die Ildasm.exe (IL-Disassembler) verwenden, um die Assemblymetadaten zu überprüfen, die den vollqualifizierten Namen enthalten.

  • Wenn die Assembly bereits von der Anwendung geladen wird, können Sie den Wert der Assembly.FullName-Eigenschaft abrufen, um den vollqualifizierten Namen abzurufen. Sie können die Assembly-Eigenschaft einer in dieser Assembly definierten Type-Klasse verwenden, um einen Verweis auf das Assembly-Objekt abzurufen. Dies wird im Beispiel veranschaulicht.

  • Wenn Sie den Dateisystempfad der Assembly kennen, können Sie die AssemblyName.GetAssemblyName-Methoden static (C#) oder Shared (Visual Basic) aufrufen, um den vollqualifizierten Assemblynamen abzurufen. Im Folgenden finden Sie ein einfaches Beispiel.

    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
    
  • Sie können den Ildasm.exe (IL-Disassembler) verwenden, um die Metadaten der Assembly zu überprüfen, die den vollqualifizierten Namen enthalten.

Weitere Informationen zum Festlegen von Assemblyattributen, z. B. Version, Kultur und Assemblyname, finden Sie unter Festlegen von Assemblyattributen. Weitere Informationen zum Vergeben eines starken Namens für eine Assembly finden Sie unter Erstellen und Verwenden von Assemblys mit starken Namen.

Beispiel

Im folgenden Beispiel wird gezeigt, wie Sie den vollqualifizierten Namen einer Assembly, die eine angegebene Klasse enthält, in der Konsole anzeigen können. Im Beispiel wird die Type.Assembly-Eigenschaft verwendet, um einen Verweis auf eine Assembly mit einem Typ abzurufen, der in der Assembly definiert ist.

#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

Siehe auch