War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Wichtig Dieses Dokument enthält ggf. nicht die bewährten Methoden für die aktuelle Entwicklung. Außerdem sind Links zu Downloads und anderen Ressourcen u. U. nicht mehr gültig. Die aktuell empfohlene Version finden Sie hier.

Gewusst wie: Bestimmen, ob eine Datei eine Assembly ist (C#-Programmierhandbuch)

Aktualisiert: November 2007

Eine Datei ist nur dann eine Assembly, wenn sie verwaltet wird und einen Assemblyeintrag in ihren Metadaten enthält. Weitere Informationen über Assemblys und Metadaten finden Sie im Thema Assemblymanifest.

So bestimmen Sie manuell, ob eine Datei eine Assembly ist

  1. Starten Sie MSIL Disassembler-Tool (Ildasm.exe).

  2. Laden Sie die Datei, die Sie testen möchten.

  3. Wenn ILDASM meldet, dass es sich bei der Datei nicht um eine übertragbare ausführbare Datei handelt, ist sie keine Assembly. Weitere Informationen finden Sie unter dem Thema Gewusst wie: Ansichtsassemblyinhalt.

So bestimmen Sie programmgesteuert, ob eine Datei eine Assembly ist

  1. Rufen Sie die GetAssemblyName-Methode auf, und übergeben Sie ihr den vollständigen Pfad und den Namen der Datei, die Sie testen möchten.

  2. Wenn eine BadImageFormatException-Ausnahme ausgelöst wird, ist die Datei keine Assembly.

In diesem Beispiel wird eine DLL darauf getestet, ob sie eine Assembly ist.

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.
*/


Die GetAssemblyName-Methode lädt die Testdatei und gibt sie frei, sobald die Informationen gelesen wurden.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft