Condividi tramite


Procedura: determinare se un file è un assembly (Guida per programmatori C#)

Aggiornamento: novembre 2007

Un file è un assembly unicamente nei casi in cui è gestito e include nei metadati una voce assembly. Per ulteriori informazioni sugli assembly e sui metadati, vedere l'argomento Manifesto dell'assembly.

Procedura: determinare se un file è un assembly in modo manuale

  1. Avviare Disassembler MSIL (Ildasm.exe).

  2. Caricare il file che si desidera testare.

  3. Se ILDASM segnala che il file non è un file eseguibile portabile (PE, portable executable), tale file non è un assembly. Per ulteriori informazioni, vedere l'argomento Procedura: visualizzare il contenuto dell'assembly.

Procedura: determinare se un file è un assembly a livello di codice

  1. Chiamare il metodo GetAssemblyName, passando il percorso completo e il nome del file che si desidera testare.

  2. Se viene generata un'eccezione BadImageFormatException, il file non è un assembly.

Esempio

Nell'esempio riportato di seguito viene testata una DLL per verificare se è un assembly.

class TestAssembly
{
    static void Main()
    {

        try
        {
            System.Reflection.AssemblyName testAssembly =
                System.Reflection.AssemblyName.GetAssemblyName(@"C:\Windows\Microsoft.NET\Framework\v3.5\System.Net.dll");

            System.Console.WriteLine("Yes, the file is an Assembly.");
        }

        catch (System.IO.FileNotFoundException)
        {
            System.Console.WriteLine("The file cannot be found.");
        }

        catch (System.BadImageFormatException)
        {
            System.Console.WriteLine("The file is not an Assembly.");
        }

        catch (System.IO.FileLoadException)
        {
            System.Console.WriteLine("The Assembly has already been loaded.");
        }
    }
}
/* Output (with .NET Framework 3.5 installed):
    Yes, the file is an Assembly.
*/

Il metodo GetAssemblyName carica il file di test, quindi lo rilascia dopo averne letto i dati.

Vedere anche

Attività

Risoluzione dei problemi relativi alle eccezioni: System.BadImageFormatException

Concetti

Guida per programmatori C#

Riferimenti

Assembly e Global Assembly Cache (Guida per programmatori C#)

AssemblyName