Je pense que vous ne travaillez pas avec des assemblages fortement nommés. J'ai eu cette erreur lorsque deux projets font référence à des versions légèrement différentes du même assemblage et qu'un projet plus dépendant fait référence à ces projets. La solution dans mon cas a été de supprimer les informations de clé et de version du nom de l'assemblage dans les fichiers .csproj (cela n'avait pas d'importance de toute façon), puis de faire une construction propre.
Les changements entre les différentes versions de l'assemblage étaient compatibles avec les parties de la solution qui y faisaient référence. Si ce n'est pas le cas pour vous, vous devrez peut-être faire un peu plus d'efforts pour résoudre le problème.
NuGet
Avec NuGet, il est facile de se retrouver dans cette situation si :
- Vous installez un paquet dans un projet de votre solution.
- Une nouvelle version de ce paquet est déployée vers la source du paquet.
- Vous l'installez dans un autre projet de la même solution.
Il en résulte que deux projets de votre solution font référence à des versions différentes des assemblages de ce paquet. Si l'un d'eux fait référence à l'autre et est une application ClickOnce, vous verrez ce problème.
Pour résoudre ce problème, lancez la commande update-package [package name]
dans la console du gestionnaire de paquets Nuget pour tout remettre à niveau, et le problème disparaît.
Vous devriez gérer les paquets NuGet au niveau de la solution plutôt qu'au niveau du projet, sauf s'il y a une raison impérative de ne pas le faire. La gestion des paquets au niveau de la solution évite le risque de versions multiples des dépendances. Lors de l'utilisation de l'interface de gestion, si l'option Consolidé L'onglet montre qu'un ou plusieurs paquets ont plusieurs versions, envisagez de les consolider en une seule.
72 votes
En guise d'essai rapide, effacez les deux
bin
yobj
de votre projet, et recompilez le projet. Parfois, cela fonctionne.0 votes
Vous signez l'assemblage ?
3 votes
@Jason, Nettoyer le projet et le reconstruire a fonctionné pour moi. J'avais récemment signé les assemblages et le projet se construisait, mais ne se publiait pas.
1 votes
@Kratz - Heureux que cette astuce ait fonctionné pour vous :) C'est un peu comme réparer votre ordinateur en le redémarrant !
0 votes
Cela m'est arrivé lorsque le gestionnaire de configuration a réinitialisé les paramètres de construction de plusieurs de mes projets (c'est-à-dire qu'ils n'étaient pas configurés pour être construits sur "Reconstruire tout"), après avoir versionné ces projets et les avoir reconstruits, l'erreur se produisait.
0 votes
Mon problème était que deux projets utilisaient des références différentes. Lorsque j'ai consolidé les références pour la solution, cela a fonctionné.