web-dev-qa-db-fra.com

Erreur CS1703: Plusieurs assemblys ayant une identité équivalente ont été importés - Xamarin + VSTS

J'ai mis à niveau le dernier Xamarin pour Visual Studio 2015 (Community Edition), recompilé mes projets, archivé quelques modifications de code mineures et mon serveur de génération VSTS échoue avec le message d'erreur suivant:

[erreur] CSC (0,0): erreur CS1703: plusieurs assemblys avec équivalent les identités ont été importées: 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll 'et "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll". Retirer une des références en double.

Les recherches sur Internet ne fournissent pratiquement aucun détail sur ce problème ni aucune information précieuse dans le contexte de VSTS et de Xamarin.

Le seul changement de code que je considère pertinent pour le problème a été effectué par Visual Studio dans le fichier de projet:

 enter image description here

Je ne développe que pour Android, suis sur Xamarin 4.2 et utilise le JDK 8 u101.

Une idée de comment résoudre ce problème?

17
Quality Catalyst

Je viens de résoudre le problème. Essayez de supprimer le fichier mscorlib.dll du dossier Références à l'intérieur de votre solution elle-même. Reportez-vous au dossier en surbrillance ci-dessous (dossier de référence). Il semble que Xamarin inclura le fichier mscorlib.dll par défaut lors de sa construction. J'espère que ça aide :)

 enter image description here

34
DriLLFreAK100

Une erreur s'est produite lors de l'installation d'un nuget principal .net, qui installe explicitement toutes les bibliothèques System. *. Il s'est avéré que mon paquet Microsoft.Net.Compilers avait besoin d'être mis à niveau, puis cette erreur a disparu.

4
David Faivre

J'ai corrigé cela moi-même en modifiant la version 7.1 en version 6.0, et la compilation a recommencé à fonctionner. Le problème n'apparaît que sur mon agent de compilation:

Compilation settings

1
Adrián Romero

Dans mon cas, j'avais une référence de package "Microsoft.NETCore.Portable.Compatibility" dans l'un des projets référencés. Je l'ai enlevé et les projets Android et iOS construits avec succès.

1
Adil H. Raza

J'ai mis à jour tous les packages Microsoft et l'erreur du compilateur s'est dissipée ... Je pense donc que la solution générale à ce type d'erreur de compilateur consiste en deux étapes:

  1. Mettez à niveau le paquet NuGet impliqué;
  2. Si la 1ère étape ne suffit pas , mettez à niveau tous les packages Microsoft NuGet.
0
Ovidiu Caba

J'ai eu un problème similaire.

l'erreur suivante était dans la sortie de la console jenkins

Multiple assemblies with equivalent identity have been imported: 'C:\Program Files (x86)\Jenkins\jobs\...\lib\net461\System.ComponentModel.Annotations.dll' and 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\System.ComponentModel.Annotations.dll'. 
Remove one of the duplicate references.

J'ai supprimé la référence en double dans l'un de mes projets et cela a fonctionné.

0
hormberg