2009-03-06 14 views
1

J'ai besoin d'obtenir dynamiquement la liste des contrôles dans l'assembly PresentationFramework. Pour l'instant, je peux charger l'assemblage avec ce morceau de code:Comment charger correctement l'assembly PresentationFramework à partir du GAC?

var asmName = new AssemblyName("PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"); 
var asm = Assembly.Load(asmName); 

Cependant, si, dans l'avenir, le cadre est mis à jour à la version supérieure, le code ci-dessus ne sera pas en mesure de ramasser le nouvel ensemble. S'il vous plaît montrez-moi comment le faire de la bonne façon. Merci beaucoup.

Répondre

1

Je ne pense pas qu'il existe un moyen d'obtenir automatiquement la dernière version d'un assembly dans le GAC, car cela pourrait conduire à nouveau à l'ensemble du problème "DLL Hell". Les assemblys avec nom fort, que tous les assemblages du GAC doivent obligatoirement inclure, incluent leur numéro de version dans leur nom pour s'assurer que vous chargez exactement la version à laquelle vous vous attendez. Cela empêchera une version plus récente de l'assembly de casser votre application.

+0

C'est ce que je pense aussi. Merci Andy. – tranmq

0

Il est dépréciée mais vous pouvez utiliser:

Assembly.LoadWithPartialName("PresentationFramework"); 
Questions connexes