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:
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?
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 :)
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.
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:
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.
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:
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é.