Procedura: Trovare il nome completo di un assembly

Per individuare il nome completo di un assembly .NET Framework nella Global Assembly Cache, usare lo strumento Global Assembly Cache (Gacutil.exe). Vedere Procedura: Visualizzare il contenuto della Global Assembly Cache.

Per gli assembly .NET Core e per gli assembly .NET Framework che non si trovano nella Global Assembly Cache, è possibile ottenere il nome completo dell'assembly in diversi modi:

  • È possibile usare il codice per restituire le informazioni nella console o in una variabile oppure è possibile usare Ildasm.exe (Disassembler IL) per esaminare i metadati dell'assembly, che contengono il nome completo.

  • Se l'assembly è già stato caricato dall'applicazione, è possibile recuperare il valore della proprietà Assembly.FullName per ottenere il nome completo. È possibile usare la proprietà Assembly di un Type definito in tale assembly per recuperare un riferimento all'oggetto Assembly. Nell'esempio viene illustrata una situazione di questo tipo.

  • Se si conosce il percorso del file system dell'assembly, è possibile chiamare il metodo static (C#) o Shared (Visual Basic) AssemblyName.GetAssemblyName per ottenere il nome completo dell'assembly. Di seguito è riportato un esempio semplice.

    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
    
  • È possibile usare Ildasm.exe (IL Disassembler) per esaminare i metadati dell'assembly che contengono il nome completo.

Per altre informazioni sull'impostazione degli attributi dell'assembly, ad esempio versione, impostazioni cultura e nome dell'assembly, vedere Impostare gli attributi dell'assembly. Per altre informazioni sull'assegnazione di un nome sicuro all'assembly, vedere Creare e usare gli assembly con nome sicuro.

Esempio

L'esempio seguente mostra come visualizzare il nome completo di un assembly contenente una classe specificata nella console. Usa la proprietà Type.Assembly per recuperare un riferimento a un assembly da un tipo definito in tale 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

Vedi anche