Wie um zu überprüfen, ob eine bestimmte assembly vorhanden ist?

Ich bin mit der Activator zu instanziieren, eine neue Klasse basierend auf dem kurzen Namen einer assembly (e.ein. 'CustomModule'). Es wirft ein FileNotFoundException, weil die Baugruppe nicht vorhanden ist. Gibt es eine Möglichkeit zu überprüfen, ob eine bestimmte assembly-Namen vorhanden ist?

Ich bin mit dem folgenden code:

System.Runtime.Remoting.ObjectHandle obj = 
    System.Activator.CreateInstance(assemblyName, className);

Hauptziel ist der test eher für die Anwesenheit der Versammlung als zu warten, bis die exception auftreten.

  • Du meinst geladen in der aktuellen app-Domäne? Was ist assemblyName? Ein vollqualifizierter AssemblyName oder eine physische Datei-Pfad?
  • das einzige was ich weiß ist, dass ich ein "CustomModule" in meiner Datenbank. Wenn ein CustomModule.dll ist in meinen Papierkorb oder GAC (!?) als es die angegebene Klasse, die von Klassenname.
  • Siehe mein neuestes update, hoffentlich ist das genug, um weiterzumachen.
  • Hm... den .Net 1.1 Methode verwendet Versammlung.LoadWithPartialName zurückgeben, 'null', wenn die Baugruppe nicht vorhanden ist.
  • (?) Ja, wenn die Baugruppe nicht vorhanden ist, dann bekommen Sie null, aber du hast schon alles getan, was in der Prüfung können Sie (vorausgesetzt, Sie verabschiedet den code in meiner Antwort), also ist dann die Zeit, um das FileNotFoundException.
Schreibe einen Kommentar