Problème de type avec une assembly [Résolu]

Signaler
Messages postés
31
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
20 juillet 2005
-
Messages postés
31
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
20 juillet 2005
-
Bonjour,


je souhaiterais récupérer le type d'une assembly que je charge avec la methode

SampleAssembly = Assembly.LoadFrom(@pathAssembly);


Ensuite je parcours les type de l'assembly et si je trouve un type en question qui correspond au nom de la DLL que j'ai ouverte (pathAssembly) je dois faire un traitement particulier :


Ce qui suit fonctionne :


SampleAssembly = Assembly.LoadFrom(@pathAssembly);
string assemblyNamespace = SampleAssembly.FullName;

/* Get the name of the lib */
string paramSlit = ",";
string[]tmpSplit = assemblyNamespace.Split(paramSlit.ToCharArray());


string libName = tmpSplit[0];


// Get All the Types in the Assembly
ArrType = SampleAssembly.GetTypes();


foreach (Type type in ArrType)
{
MethodInfo[] methods = type.GetMethods (BindingFlags.Public
|BindingFlags.Instance
|BindingFlags.DeclaredOnly
|BindingFlags.Static
|BindingFlags.NonPublic
|BindingFlags.FlattenHierarchy);
foreach (MethodInfo methodInfo in methods)
{
if (type.Name.Trim() == libName.Trim())
{
//Traitement
}
}
}


Ceci fonctionne donc très bien mais seulement voilà, je voudrais éviter de parcourir tous les type alors que je connais le nom de celui que je cherche puisqu'il a le nom de ma dll...


J'ai donc essayé ceci :

Type t = SampleAssembly.GetType(libName,true);


mais j'obtiens cette erreur :


An unhandled exception of type 'System.TypeLoadException' occurred in ApplicationEssai8.exe


Additional information: Could not load type Demo2 from assembly Demo2, Version=1.0.1931.28903, Culture=neutral, PublicKeyToken=null.


Pouvez vous m'aider ?
est-ce que ça viendrais du paramètre passé à GetType qui ne va pas ?


Merci
A voir également:

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,
Le paramètre name de GetType doit spécifier le nom complet, c'est à dire avec le namespace.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
31
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
20 juillet 2005

merci c nickel !