Xamarin Android build просто зависает при включенном компоновщике - PullRequest
0 голосов
/ 25 октября 2019

У меня есть проект Xamarin.Android, который зависает при попытке построить решение в конфигурации выпуска. Я сузил его до проблемы с компоновщиком - если компоновщик выключен, все работает нормально.

Я выполнил сборку с большей детализацией и даже использовал msbuild из командной строки(что говорит о том, что это не проблема IDE), результат тот же. Вывод сборки только до точки, где он зависает, гласит:

Target _LinkAssembliesShrink:
  Building target "_LinkAssembliesShrink" completely.
  Input file "obj/Preview/linksrc/BondiToManly.Android.dll" is newer than output file "obj/Preview/link.flag".
  Task "CreateProperty" skipped, due to false condition; ( '$(AndroidLinkTool)' != '' ) was evaluated as ( '' != '' ).
  Task "MakeDir" skipped, due to false condition; ( '$(AndroidLinkTool)' != '' ) was evaluated as ( '' != '' ).
  Using "LinkAssemblies" task from assembly "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Build.Tasks.dll".
  Task "LinkAssemblies"
    Processing resource linker descriptor: mscorlib.xml
    Processing resource linker descriptor: Mono.Android.xml
    Processing embedded resource linker descriptor: mscorlib.xml
    Duplicate preserve in descriptor mscorlib.xml from Xamarin.Android.Build.Tasks, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null of System.AppDomain (Nothing).  Duplicate uses (Fields)
    Duplicate preserve in descriptor mscorlib.xml from Xamarin.Android.Build.Tasks, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null of System.AppDomainSetup (Fields).  Duplicate uses (Fields)
    Type Mono.ValueTuple has no fields to preserve
    Type System.Reflection.Assembly has no fields to preserve
    Type System.Reflection.Emit.ByRefType has no fields to preserve
    Type System.Reflection.Emit.PointerType has no fields to preserve

И он действительно зависает, как тупиковый поток или что-то в этом роде. Нет никакого способа отменить сборку, вам нужно просто выйти из IDE (аналогично, ^ C в терминале тоже ничего не делает).

Это, похоже, влияет только на этот мой проект Xamarin (многие другие с похожимКонфигурации строят нормально). На данном этапе я просто надеюсь найти способ понять, что происходит не так.

Любые советы будут оценены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...