132 votes

Erreur CS1705 : "qui a une version supérieure à l'assemblage référencé".

Je me suis penché sur la question depuis un certain temps déjà et je n'ai pas réussi à la résoudre. Je reçois le message d'erreur suivant :

Compiler Error Message: CS1705: Assembly 'My.Model, Version=1.1.4422.23773, Culture=neutral, 
PublicKeyToken=bfde95ba233094b2' uses 
'Common, Version=3.3.4273.24368, Culture=neutral, PublicKeyToken=bfde95ba233094b2' 
which has a higher version than referenced assembly
'Common, Version=3.3.4269.17112, Culture=neutral, PublicKeyToken=bfde95ba233094b2'

c:\WINDOWS\assembly\GAC_MSIL\Common\3.3.4269.17112__bfde95ba233094b2\Common.dll: 
(Location of symbol related to previous error)

Le serveur web fonctionne sous Server 2003. Je suis allé à c : \windows\assembly et j'ai remarqué qu'il y avait 3 versions de Common.dll. La version la plus élevée était 3.3.4269.17112.

J'ai copié la dll avec la version : 3.3.4273.24368 dans le répertoire d'assemblage. J'ai ensuite recompilé et redéployé mon code (probablement trop, mais bon). Lorsque j'ai ouvert mon navigateur dans une nouvelle session et que je suis retourné à l'URL du site, j'ai obtenu le même message.

Je peux utiliser l'explorateur Windows et vérifier que la version supérieure de Common.dll est maintenant listée aussi.

Que puis-je faire de plus pour résoudre ce problème ? Je ne veux pas changer la référence dans mon assemblage pour pointer vers l'ancienne version.

4voto

Le problème se pose si les paquets nuget varient dans plusieurs projets de la solution.

Vous pouvez résoudre ce problème en mettant à jour des paquets nuget à une version commune avec tous les PROJETS de la SOLUTION

3voto

Rahul Points 2630

Allez dans Référence et ajoutez une nouvelle référence de votre fichier dll qui cause le problème et assurez-vous que toutes vos dll sont compilées avec la même version. Cela fonctionne pour moi, j'espère que cela fonctionne pour vous aussi.

3voto

Russell Speight Points 21

Mon équipe vient de rencontrer ce problème dans notre environnement de construction. Le problème était dû à une différence dans l'élément <HintPath> du fichier .csproj.

Notre assemblage commun avait un chemin relatif correct vers le répertoire contenant nos assemblages de référence. L'assemblage dépendant avait un chemin provenant d'une ancienne structure de répertoire. La solution s'est compilée avec succès sur les machines de développement car le GAC a résolu la référence du dépendant à la version correcte installée dans le répertoire C:\Program Fichiers. L'environnement de construction avait une installation héritée de l'assemblage (même s'il n'aurait pas dû en avoir) sur laquelle il s'est rabattu, d'où l'erreur. La mise à jour du <HintPath> dans un éditeur de texte a corrigé le problème.

2voto

J'ai eu la même erreur. J'ai corrigé l'erreur après avoir installé Microsoft.AspNetCore.ALL dans le projet de test.

2voto

Dans mon scénario, j'ai modifié le fichier .csproj de mon application dotnetCore. J'ai remarqué que le fichier TargetFramework avait une valeur de netcoreapp2.1 et le RuntimeFrameworkVersion un tag d'une valeur de 2.0.0 . J'ai donc changé le RuntimeFrameworkVersion a 2.1.0 J'ai sauvegardé, redémarré VS et reconstruit et les erreurs ont été résolues.

J'espère que cela vous aidera ...

Bonne chance,

Sugeshan

Prograide.com

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.

Powered by:

X