Problème de redirection de liaison dans .net
J'ai une bibliothèque de classe appelé "MyAssembly" qui est à l'intérieur de référencement a.dll, b.dll de version 3.1.1.0; j'ai de construire le projet qui outputed MyAssembly.dll. Sur un autre système (boîte), j'ai créé un projet d'application web et fait référence à l'MyAssembly.dll. le nouveau système a de nouvelles versions de a.dll et b.dll 4.0.0, j'ai utilisé de liaison de redirection dans le web.config comme ci-dessous. Mais toujours impossible de compiler l'application web. il dit manquant de référence d'assembly a.dll version 3.1.1.0.
Pourrait tout organisme aider à résoudre ce problème?
Grâce,
Suresh
source d'informationauteur Suresh | 2009-11-17
Vous devez vous connecter pour publier un commentaire.
Ce totalement fonctionné pour moi. REMARQUE: Vous devez AUCUN espace de noms sur le
configuration
tag. Et vous DOIT disposer d'un espace de noms sur votreassemblyBinding
tag.<assemblyBinding> Élément <exécution>
Faire les deux de ceux-ci ou bien elle ne sera pas lue. Si c'est de donner une erreur qu'il ne charge rien, mais 2.0.0.0 dans cet exemple, il n'est pas de la cueillette jusqu'à la config éléments correctement.
Également, cela ne fonctionne que sur fortement nommé assemblées. Pour savoir si quelque chose est nommé fortement exécutez la commande suivante à partir de la VC fenêtre de commande
ouvrir (menu démarrer > tous les programmes > visual studio > visual studio tools > invite de commande visual studio)
Puis exécutez:
Si elle renvoie qu'il est valide, alors il est nommé fortement.
source:
http://blog.codingoutloud.com/2010/03/13/three-ways-to-tell-whether-an-assembly-dl-is-strong-named/
Cela devrait fonctionner.
Une autre suggestion: Supprimer l'espace de noms de votre configuration tag:
Au lieu de
essayer
Vous utilisez MyAssembly dans votre application web. La liaison de redirection sera utilisé pour cette Assemblée et de ne pas les assemblées qui MyAssembly utilise. Vérifier le manifeste pour l'MyAssembly.dll il doit être référence à la 3.1.1.0 versions de a.dll donc le compilateur d'erreur est affiché. Construire la MyAssembly avec référence à a.dll de version 4.0.0.0 et ensuite utiliser le MyAssembly dans votre application web. Ce sera le travail.
Essayer de cette façon:
Consultez également les références de votre application, cliquez-droit sur le a.dll et b.dll, allez dans les propriétés et vérifiez si "Version Spécifique" est réglé sur Faux.
Espère que cela aide.