mscorlib conflit de version lors de la construction
Sur un nouveau Win8.1 réinstaller, avec l'ensemble de mon code restauré à partir de la sauvegarde, je suis tout à coup, l'obtention d'un Visual Studio avertissement quand je construire le projet principal de ma solution:
Trouvé les conflits entre les différentes versions de la même dépendante de l'assemblée qui n'a pas pu être résolu. Ces conflits sont répertoriés dans le journal de génération lorsque le niveau de détail du journal est défini de manière détaillée.
J'ai mis le fichier journal de Sortie Détaillée et j'ai trouvé quelques entrées comme ceci:
Il y avait un conflit entre le "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" et "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Reciblage=Oui". "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" a été choisi parce qu'il avait une version supérieure.
Problème est que je ne suis pas le référencement mscorlib
n'importe où dans la solution—vieux ou nouveau. J'ai un couple d'applications sur ma machine qui nécessitent .NET 3.5, mais je ne vois pas comment cela pourrait être lié.
Une différence: le vieux Win8.1 installer sur lequel cet avertissement n'a PAS eu lieu est un appareil autonome; cette fois, je suis joint à un domaine. Je ne sais pas si cela fait une différence (je ne vois pas comment), mais je pensais que je devais le mentionner au moins.
OriginalL'auteur InteXX | 2015-06-17
Vous devez vous connecter pour publier un commentaire.
D'avoir des versions différentes d'un package Nuget sur différents projets peuvent causer ce problème. Assurez-vous que tous vos paquets ont la même version:
Que si, à "Consolider l'onglet" il n'y a pas de packages de mise à jour? Toute autre recommandation?
OriginalL'auteur Memet Olsen
J'ai été en mesure de résoudre ce par l'émission d'une
update-package -reinstall
commande à la Console du Gestionnaire de Package.MAIS
Attention, la mise à jour de tous les paquets dans votre solution pourrait causer d'autres problèmes, assurez-vous que vous pouvez revenir à une bonne version si ça se passe mal!
YW, heureux il a travaillé.
Attention, la mise à jour de tous les paquets dans votre solution pourrait causer d'autres problèmes, assurez-vous que vous pouvez revenir à une bonne version si ça se passe mal!
Oui, d'accord.
Espérons que cela fonctionne, je l'ai fait avant de lire tous les commentaires lol
OriginalL'auteur InteXX
J'ai été en mesure de résoudre ce problème en supprimant mon ".suo" fichier de ma solution, puis la ré-ouverture de la solution. J'ai ensuite reconstruire la solution et le problème a disparu.
".suo" le fichier est dans le ".vs" dossier qui est ce que j'ai l'habitude de le supprimer.
Bonne chance!
C'était la seule façon qui ont travaillé pour moi, lorsque j'ai mis à jour l'un des le paquet j'ai eu des troubles du Système.Net.Http), le mscorlib, Système.De base et le Système était encore en montrant les conflits dans le détail le mode de sortie. Quand j'ai supprimé le .suo, et de nouveau ouvert, les messages ont disparu.
OriginalL'auteur Jacob
Bien ma solution est un peu plus simple que tous les ci-dessus. J'ai simplement ajouté une référence à la deux Assemblées lancer cette erreur (Système d'.Moment de l'exécution.La sérialisation et mscorlib) et reconstruit le projet. En faisant cela, j'ai précisé que la version 4.0.0.0 et supprimé de l'ambiguïté.
L'un des deux (mscorlib) n'a pas pu être ajoutées via l'interface graphique en raison de la "Une référence à la "mscorlib" ne peut pas être ajouté. Ce composant est déjà référencés automatiquement par le système de génération." erreur.
Je besoin pour ouvrir le .vbproj (.csproj) de fichiers et d'ajouter une référence manuellement par l'intermédiaire de:
A fonctionné pour moi aussi!
OriginalL'auteur Garet Jax
J'ai résolu ce problème en définissant mon verbosité Diagnostic comme par cette réponse.
Une fois que je l'ai fait et reconstruit ma solution, le journal de l'dressait la liste des paquets spécifiques qui dépendent de deux versions différentes de mscorlib.
Dans mon cas particulier, mon projet a eu des références à la version 2.0.20126.16343 de Système.Net.Http. J'ai ouvert le Gestionnaire de Package NuGet et mise à jour de ce forfait à la dernière version (4.3.4). La prochaine fois que je construit ma solution, les avertissements ont disparu.
OriginalL'auteur Stephan
J'ai essayé tous les suivants, mais aucun n'a résolu le problème.
Cependant, Mon problème est un cas différent, je suppose que la nouvelle version de Xamarin.Les formes paquet a utilisé une version différente de mscorlib. j'ai donc déclassé et il fonctionne très bien.
Je vous suggère d'essayer toutes les solutions ci-dessus et aussi essayer de trouver le paquet est en conflit.
OriginalL'auteur Ahmed El-Araby
Suivantes Memet Olsen conseils d'utilisation VS2017 communauté...presque identiques:
OriginalL'auteur Paulustrious
J'ai aussi essayé toutes les solutions proposées en vain.
Dans mon projet, ce message d'avertissement a été causé par une dll de référence ayant une dépendance à une autre .net framework que celui qui est ciblé par mon projet.
Afin de savoir quelle dll de référence a été l'origine de l'avertissement, j'ai simplement utilisé .net réflecteur à explorer chaque dll de référence pour trouver celui qui parlait une autre .net framework (mscorlib).
Dans le but de résoudre le problème, la référence de la dll doit être mis à jour pour une version qui cible les mêmes .net framework comme le projet de l'utiliser, si une telle version existe.
Espère que cette aide.
OriginalL'auteur Sup3rHugh