Je pense que j'ai utilisé un modèle assez commun :
var result = from a in AppDomain.CurrentDomain.GetAssemblies()
from t in a.GetTypes()
where t.IsDefined(typeof(TAttribute), inherit)
select t;
Si j'appelle le code depuis Program.cs, cela fonctionne.
Aussi, si je l'appelle à partir d'un formulaire, il fonctionne - parfois, selon le formulaire. Parfois, il ne fait que lancer une erreur : Au moins un type de l'assembly ne peut pas être chargé. Récupère la propriété LoaderExceptions si tu as besoin de plus d'informations.
C'est dans les détails que se trouve l'information :
{"Le fichier ou l'assemblage \N "EntityFramework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" ou une dépendance de celui-ci n'a pas été trouvé. Le système ne peut pas trouver le fichier spécifié" : "EntityFramework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"}
C'est en quelque sorte un peu étonnant pour moi. Pour autant que je sache, nous n'utilisons EntityFramework nulle part, seulement Telerik comme ER.
J'ai fait un "findstr /s /i /m entityframework". . "dans les répertoires du projet.
De façon amusante, il l'a trouvé dans une dll Sybase "SQL Anywhere 12". \iAnywhere.Data.SQLAnywhere.v4.0.dll ".
ok - cela ressemble un peu à un fournisseur de données sybase sql. Mais pour autant que je puisse voir, nous n'avons pas besoin d'EntityFramework, et le projet fonctionne également comme prévu.
Comment puis-je résoudre ce problème ? Comme si je disais : Je veux analyser Appdomain, mais pas certaines dlls de tiers. Ou y a-t-il un moyen d'ignorer cette erreur ?