it-swarm.com.ru

Ошибка MT2001: не удалось связать сборки. Причина: ошибка при обработке ссылок

Я получаю эту ошибку при попытке создать проект Xamarin.iOS со ссылкой на библиотеку .NET Standard 2.0. 

Похоже, что ни одна из проблем MT2001 в сети не имеет этой конкретной причины «Ошибка при обработке ссылок», поэтому я не знаю, как ее диагностировать. Я подправил и поиграл столько, сколько может один человек, и остаюсь в здравом уме, но я действительно в неведении. 

Кто-нибудь может указать мне направление? 

4
Adrian Frielinghaus

Добавление -v -v -v -v в «Дополнительные аргументы mtouch» в настройках проекта iOS Build поможет диагностировать проблему. После этого вы можете найти результаты сборки для MT2001 и просмотреть внутренние исключения. Очевидно, что каждый проект может отличаться в зависимости от того, какая сборка приводит к сбою компоновщика. Возможно, вам придется добавить, удалить или исправить ваши ссылки на основе результатов.

Например, я пытался использовать SignalR из AspNetCore 2.1, который зависит от System.Threading.Tasks.Extensions 4.5.1 в моем проекте, который, по-видимому, Mono еще не поддерживает . Mono пока не предоставляет собственную версию сборки, поэтому, когда mtouch переходит к ссылке на сборку, он не может этого сделать и выдает исключение:

Mono.Cecil.AssemblyResolutionException: Failed to resolve Assembly: 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

Удаление всех ссылок на эту сборку (и, следовательно, всю будущую в моем случае) позволило построить и связать успешно.

4
Brandon Rader

Я обнаружил, что получаю это при использовании библиотеки Xamarin, которая зависит от System.Reactive 4.1.0. Там есть ошибка, связанная с System.Threading.Tasks.Extensions, и, поскольку я пишу эту библиотеку, мне пришлось откатиться до System.Reactive 4.0.0.

1
matt.writes.code

Для меня ошибка заключается в следующем Один из пакетов упоминается в файле package.config, но он не был доступен в пакетах. Поэтому я добавил недостающий пакет из Nuget, и приложение работает нормально

0
GvSharma