Deux différentes versions de montage “situé à l'assemblée manifeste définition ne correspond pas à la référence d'assembly”
J'ai un projet que je suis en train de travailler sur qui nécessite l'utilisation de Mysql Connector pour NHibernate, (Mysql.Data.dll). Je veux aussi faire référence à un autre projet (Migrator.NET) dans le même projet. Le problème, c'est que malgré Migrator.NET est construit avec la référence de MySql.Données avec une version spécifique = false, il tente encore de référence à l'ancienne version de MySql.Données de la bibliothèque a été construite avec au lieu de simplement en utilisant la version qui est là.. et je reçois l'exception énoncée dans le titre:
----> Système.IO.FileLoadException : impossible de charger le fichier ou l'assembly
'MySql.De Données, Version=1.0.10.1,
Culture=neutral,
PublicKeyToken=c5687fc88969c44d " ou
l'une de ses dépendances. La situé
assemblée manifeste définition n'
correspond pas à la référence d'assembly.
(Exception de HRESULT: 0x80131040)
La version que je suis le référencement dans les principaux de l'assemblée est 6.1.3.0. Comment puis-je obtenir les deux assemblées, de coopérer?
Edit:
Pour ceux d'entre vous la spécification de Liaison d'Assembly de Redirection, j'ai mis cela:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.1.3.0" newVersion="6.1.3.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Je suis le référencement de ce l'assemblage principal dans un autre projet et encore les mêmes erreurs. Si mon assemblage principal est copié en local pour être utilisé dans l'autre assemblée, il utilise les paramètres de l'app.config ou cette information ne doivent être inclus avec chaque application ou de l'assemblée qui fait référence à mon assemblage principal?
OriginalL'auteur snicker | 2010-02-17
Vous devez vous connecter pour publier un commentaire.
C'est un joli brut incompatibilité de version. bindingRedirect ne va pas les aider quand les versions diffèrent tellement. Vous vous êtes trompé btw, vous voulez nouvelleversion pour correspondre à celui qui a été trouvé. Mais ne pas y aller.
À la recherche à la Migrator.NET télécharger, je crois que je vois le problème. Le dossier lib contient un vraiment ancienne version de MySql.Data.dll il a été fait pour courir sur .NET 1.0. Commencez par le zapping, et essayer de reconstruire avec la version 6 de l'assemblée. Bonne chance, je pense que vous en aurez besoin.
C'est ce que j'avais à faire. N'a pas pu obtenir de liaison d'assembly de redirection de travail. Croisant les doigts.
Je suppose que je n'ai jamais suivi.. je l'ai fait et c'est très bien.
OriginalL'auteur Hans Passant
Vous êtes à la recherche pour De Liaison D'Assembly De Redirection.
Cela vous permet de configurer une application à chercher une autre version de l'assembly.
Quelle est la PublicKeyToken de la nouvelle assemblée?
c5687fc88969c44d
Avez-vous définissez les autorisations requises, comme le décrit: msdn.microsoft.com/en-us/library/c745b34k.aspx ?
OriginalL'auteur Oded
Dans le cas où vous avez les deux versions de l'assemblée, une option serait d'utiliser côte à côte et il suffit de configurer l'application pour regarder dans le bon endroit. Vous pouvez le faire en ajoutant quelques lignes dans l'application.config, mais pour moi le moyen le plus fiable est de toujours vous inscrire à la
AppDomain.AssemblyResolve
événement et fournir le chemin d'accès de la bibliothèque qui est nécessaire.Pour un exemple simple, vous pouvez avoir un coup d'oeil ici (une réponse pour un pas-très liés à la question, mais en utilisant la même technique ;))
OriginalL'auteur Tomas Vana
La solution la plus simple est de supprimer l'Mysql.data.dll (référence à l'ancienne version de MySql) référence de l'Migrator.NET projet et ajouter une nouvelle référence MySql.data.dll (le même que la version utilisée par un autre projet). Construire la Migrator.NET encore et maintenant, tout devrait fonctionner correctement. J'ai été confrontée au même problème et la solution que j'ai mentionné a fonctionné parfaitement pour moi
OriginalL'auteur Pankaj
J'ai également été confronté à la même question, et n'a pas été en mesure de résoudre par toute de la solution ci-dessus.
Donc finalement j'ai trouvé la solution pour cela...
Supprimer tout de la licence.fichier licx en projet=>Propriétés dans l'explorateur de solutions.
Quand j'ai tout enlevé de ce fichier, sa me permet de construire le projet avec succès
OriginalL'auteur Vijay Sutaria