Y a-t-il quelque chose comme :
AppDomain.CurrentDomain.GetAssemblyByName("TheAssemblyName")
Ainsi, au lieu de passer en boucle par AppDomain.CurrentDomain.GetAssemblies()
nous pourrions simplement obtenir l'assemblage spécifique directement.
Y a-t-il quelque chose comme :
AppDomain.CurrentDomain.GetAssemblyByName("TheAssemblyName")
Ainsi, au lieu de passer en boucle par AppDomain.CurrentDomain.GetAssemblies()
nous pourrions simplement obtenir l'assemblage spécifique directement.
Avez-vous essayé de regarder Assembly.Load(...) ?
Cela dépend de ce que vous essayez d'accomplir.
Si vous voulez juste obtenir l'assemblage, alors vous devez appeler System.Reflection.Assembly.Load()
(comme cela a déjà été souligné). C'est parce que .NET vérifie automatiquement si l'assemblage a déjà été chargé dans l'AppDomain actuel et ne le charge pas à nouveau si c'est le cas.
Si vous essayez juste de vérifier si l'assemblage a été chargé ou non (pour une raison de diagnostic, peut-être), alors vous devez boucler sur tous les assemblages chargés.
Une autre raison pour laquelle vous pourriez vouloir faire une boucle est que vous ne connaissez qu'une partie des informations de l'assemblage (par exemple, vous n'êtes pas sûr de la version). En d'autres termes, vous en savez assez pour "le reconnaître quand vous le voyez", mais pas assez pour le charger. C'est un scénario assez obscur et peu probable, cependant.
@erik-reppen : D'après les docs MS, il est disponible dans les versions précédentes. Je l'utilise dans une application 3.5 : msdn.microsoft.com/fr/us/library/0et80c7k(v=vs.100).aspx
Jetez un coup d'œil à la classe System.Reflection.Assembly, en particulier à la méthode Load : MSDN
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.