J'ai une application qui fait référence à l'assembly "Microsoft.Xna.Framework, Version = 2.0.0.0, Culture = neutre, PublicKeyToken = 6d5c3888ef60e27d". J'ai créé un projet d'installation qui installe cet assembly dans le GAC (en exécutant le programme d'installation RedNA XNA)..net runtime essaie d'utiliser la mauvaise version d'un assembly
Cependant, lorsque cet assembly est utilisé pour la première fois, je reçois une exception pendant le JITing. J'ai ensuite essayé de Ngen l'image et NGEN affiche le message d'erreur suivant:
Failed to load dependency Microsoft.Xna.Framework of assembly x,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null because of the following
error : The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Notez que la version 1.0.0.0 et l'PublicKeyToken manque, et l'assemblage ne bogus existe pas. Qu'est-ce qui peut amener le JITer et ngen à tenter de charger cette mauvaise version de l'assembly?
La version correcte de l'assembly est dans le GAC. J'ai ouvert mon image dans Reflector, et la référence s'affiche correctement. J'ai également vérifié qu'aucun autre assembly de la hiérarchie de dépendances ne charge la version 1.0.0.0 de bogus. En fait, la version 1.0.0.0 n'existe nulle part, ni sur la boîte de développement ni sur la machine de test. Cependant, lorsque vous tentez d'étendre la référence à Microsoft.Xna.Framework sur l'ordinateur de test, Reflector pense (correctement) que la version d'assembly référencée est 2.0.0.0, mais ne la trouve pas même si je la vois dans le GAC lors de l'affichage de c: \ windows \ assembly dans l'explorateur.
Aidez-nous s'il vous plaît.
Copier Local sur la référence peut-être? – Pondidum
L'assembly référencé est destiné à être dans le GAC, je peux le voir dans c: \ windows \ assembly. – erikkallen