Ошибка CS1703: импортированы несколько сборок с эквивалентным идентификатором - Xamarin + VSTS

Я обновил до последней версии Xamarin для Visual Studio 2015 (Community Edition), перекомпилировал мои проекты, проверил несколько небольших изменений кода, и мой сервер сборки VSTS вышел из строя с этим сообщением об ошибке:

[ошибка] CSC (0,0): ошибка CS1703: несколько сборок с эквивалентом личность импортирована: 'C:\Program Files (x86)\Reference Ассембли \Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll 'и "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll. Удалить одна из дубликатов ссылок.

Поисковые запросы в Интернете почти не содержат сведений об этой проблеме вообще и никакой ценной информации вообще в контексте VSTS и Xamarin.

Единственное изменение кода, которое, как я считаю, имеет отношение к проблеме, было выполнено Visual Studio в файле проекта:

введите описание изображения здесь

Я разрабатываю только для Android, на Xamarin 4.2 и использую JDK 8 u101.

Любая идея, как решить эту проблему?

Ответ 1

Я только что решил проблему. Попробуйте удалить файл mscorlib.dll из папки "Ссылки" внутри самого решения. См. Ниже выделенную папку (справочная папка). Кажется, что Xamarin будет включать mscorlib.dll по умолчанию во время сборки. Надеюсь, это поможет:)

введите описание изображения здесь

Ответ 2

У меня возникла ошибка при установке ядра .net core nuget, который явно устанавливает все библиотеки System. *. Оказалось, что мой пакет Microsoft.Net.Compilers нуждается в обновлении, затем эта ошибка исчезла.

Ответ 3

Я исправил это для себя, изменив 7.1 до 6.0, и компиляция снова начала работать. Проблема возникает только в моем компиляторе:

Compilation settings

Ответ 4

В моем случае у меня была ссылка на пакет "Microsoft.NETCore.Portable.Compatibility" в одном из проектов, на которые ссылаются. Я удалил его, и проекты Android и iOS были успешно построены.

Ответ 5

Я обновил все пакеты Microsoft, и ошибка компилятора исчезла. Поэтому я считаю, что общее решение для подобных ошибок компилятора состоит из двух шагов:

  • Обновите входящий пакет NuGet;
  • Если первого шага недостаточно, обновите все пакеты Microsoft NuGet.

Ответ 6

У меня была похожая проблема.

следующая ошибка была в выводе консоли 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.

Я удалил дубликат ссылки в одном из моих проектов, и это сработало.

Ответ 7

Внесены следующие изменения в .csproj, что и .csproj:

   <PackageReference Include="System.Reflection.Emit">
      <Version>4.3.0</Version>
      <ExcludeAssets>All</ExcludeAssets>
      <IncludeAssets>none</IncludeAssets>
    </PackageReference>