Je me trouve face à un problème :
Je charge dans mon programme une assembly dynamiquement à l'aide de
Assembly.LoadFrom()
Ensuite, je souhaite tester le type de l'assembly chargée pour savoir
dans quel cas connu je me trouve (je peux charger à cet endroit 2
assemblies particulières : A1 et A2).
Pour ce faire, je testais simplement :
if (objContentManagerAccess.GetType().Equals(typeof(A1)))
...
cela fonctionnait bien depuis 3 mois, mais aujourd'hui, cela ne matche plus.
Après investigations, il s'avère que typeof(A1) retourne un message : A1
existe dans {xxxx-xxxxx-xxxx-xxx} et dans {yyyyy-yyyy-yyy-yyy}
J'ai beau chercher, je ne trouve ces références ni dans le GAC ni dans
la base des registres.
Je ne comprends donc pas où il trouve ces 2 références.
J'ai trouvé une solution qui consiste à tester
if (objContentManagerAccess.GetType().FullName.Equals("A1"))
...
mais cela ne me plait pas vraiment, et puis j'aimerais savoir comment
déréférencer ces assemblys.
Quelle est la bonne méthode pour tester le type d'une classe chargée
dynamiquement ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Bacelar
Pourquoi ne pas utiliser les customs attributs sur les assemblies ? -- Paul Bacelar MVP VC++
"Boblemar" wrote in message news:
Bonjour,
Je me trouve face à un problème : Je charge dans mon programme une assembly dynamiquement à l'aide de Assembly.LoadFrom()
Ensuite, je souhaite tester le type de l'assembly chargée pour savoir dans quel cas connu je me trouve (je peux charger à cet endroit 2 assemblies particulières : A1 et A2).
Pour ce faire, je testais simplement : if (objContentManagerAccess.GetType().Equals(typeof(A1))) ... cela fonctionnait bien depuis 3 mois, mais aujourd'hui, cela ne matche plus.
Après investigations, il s'avère que typeof(A1) retourne un message : A1 existe dans {xxxx-xxxxx-xxxx-xxx} et dans {yyyyy-yyyy-yyy-yyy}
J'ai beau chercher, je ne trouve ces références ni dans le GAC ni dans la base des registres. Je ne comprends donc pas où il trouve ces 2 références.
J'ai trouvé une solution qui consiste à tester if (objContentManagerAccess.GetType().FullName.Equals("A1")) ... mais cela ne me plait pas vraiment, et puis j'aimerais savoir comment déréférencer ces assemblys.
Quelle est la bonne méthode pour tester le type d'une classe chargée dynamiquement ?
Merci
Bob
Pourquoi ne pas utiliser les customs attributs sur les assemblies ?
--
Paul Bacelar
MVP VC++
"Boblemar" <arnaud.fontenoy@logicim.com> wrote in message
news:urnbrhNcGHA.3900@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je me trouve face à un problème :
Je charge dans mon programme une assembly dynamiquement à l'aide de
Assembly.LoadFrom()
Ensuite, je souhaite tester le type de l'assembly chargée pour savoir dans
quel cas connu je me trouve (je peux charger à cet endroit 2 assemblies
particulières : A1 et A2).
Pour ce faire, je testais simplement :
if (objContentManagerAccess.GetType().Equals(typeof(A1)))
...
cela fonctionnait bien depuis 3 mois, mais aujourd'hui, cela ne matche
plus.
Après investigations, il s'avère que typeof(A1) retourne un message : A1
existe dans {xxxx-xxxxx-xxxx-xxx} et dans {yyyyy-yyyy-yyy-yyy}
J'ai beau chercher, je ne trouve ces références ni dans le GAC ni dans la
base des registres.
Je ne comprends donc pas où il trouve ces 2 références.
J'ai trouvé une solution qui consiste à tester
if (objContentManagerAccess.GetType().FullName.Equals("A1"))
...
mais cela ne me plait pas vraiment, et puis j'aimerais savoir comment
déréférencer ces assemblys.
Quelle est la bonne méthode pour tester le type d'une classe chargée
dynamiquement ?
Pourquoi ne pas utiliser les customs attributs sur les assemblies ? -- Paul Bacelar MVP VC++
"Boblemar" wrote in message news:
Bonjour,
Je me trouve face à un problème : Je charge dans mon programme une assembly dynamiquement à l'aide de Assembly.LoadFrom()
Ensuite, je souhaite tester le type de l'assembly chargée pour savoir dans quel cas connu je me trouve (je peux charger à cet endroit 2 assemblies particulières : A1 et A2).
Pour ce faire, je testais simplement : if (objContentManagerAccess.GetType().Equals(typeof(A1))) ... cela fonctionnait bien depuis 3 mois, mais aujourd'hui, cela ne matche plus.
Après investigations, il s'avère que typeof(A1) retourne un message : A1 existe dans {xxxx-xxxxx-xxxx-xxx} et dans {yyyyy-yyyy-yyy-yyy}
J'ai beau chercher, je ne trouve ces références ni dans le GAC ni dans la base des registres. Je ne comprends donc pas où il trouve ces 2 références.
J'ai trouvé une solution qui consiste à tester if (objContentManagerAccess.GetType().FullName.Equals("A1")) ... mais cela ne me plait pas vraiment, et puis j'aimerais savoir comment déréférencer ces assemblys.
Quelle est la bonne méthode pour tester le type d'une classe chargée dynamiquement ?