Die Task "LinkAssemblies" ist unerwartet fehlgeschlagen
Wenn wir versuchen zu bauen xamarin forms Projekt im release-Modus, bekommen wir die Fehlermeldung:
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(5,5): Error MSB4018: The "LinkAssemblies" task failed unexpectedly.
Xamarin.Android.XamarinAndroidException: error XA2006: Reference to metadata item 'System.Void Android.Widget.AbsListView::SetSelectionFromTop(System.Int32,System.Int32)' (defined in 'Xamarin.Forms.Platform.Android, Version=1.3.3.0, Culture=neutral, PublicKeyToken=null') from 'Xamarin.Forms.Platform.Android, Version=1.3.3.0, Culture=neutral, PublicKeyToken=null' could not be resolved. ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void Android.Widget.AbsListView::SetSelectionFromTop(System.Int32,System.Int32)
at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.Process(LinkContext context)
at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context)
at Xamarin.Android.Tasks.LinkAssemblies.Execute()
--- End of inner exception stack trace ---
at Xamarin.Android.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args)
at Xamarin.Android.Tasks.LinkAssemblies.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() (MSB4018) (XXX.Android)
Wie können wir dieses Problem lösen? Wir haben versucht, die Reinigung und die Gebäude wieder. Sogar das schließen xamarin studio und Neustarten. Nichts scheint zu funktionieren.
Sind wir auf die neueste Version von xamarin forms und xamarin forms labs. Der minimale android-API-Ebene, die wir verwenden, ist 17. Ich habe sogar versucht minimale sdk-version 20.
Einige weitere details:
Xamarin Studio
Version 5.7 (build 661)
Installation UUID: f97e711d-1fe0-450f-a3bb-2d9b972ab295
Runtime:
Microsoft .NET 4.0.30319.0
GTK+ 2.24.22 (MS-Windows theme)
GTK# 2.12.26
Xamarin.Android
Version: 4.20.0 (Indie Edition)
Android SDK: C:\Users\Kartik\AppData\Local\Android\android-sdk
Supported Android versions:
2.1 (API level 7)
2.2 (API level 8)
2.3 (API level 10)
3.1 (API level 12)
4.0 (API level 14)
4.0.3 (API level 15)
4.1 (API level 16)
4.3 (API level 18)
4.4 (API level 19)
4.4.87 (API level 20)
5.0 (API level 21)
Java SDK: C:\Program Files (x86)\Java\jdk1.6.0_39
java version "1.6.0_39"
Java(TM) SE Runtime Environment (build 1.6.0_39-b04)
Java HotSpot(TM) Client VM (build 20.14-b01, mixed mode, sharing)
Build Information
Release ID: 507000661
Git revision: b70bab61da996da29045ea8ee8aed1a6faedbe78
Build date: 2015-01-05 11:27:37-05
Xamarin addins: 82f6c71490562d6cd125a09287f441902fdac3d7
Operating System
Windows 6.2.9200.0 (64-bit)
InformationsquelleAutor der Frage Kartik | 2015-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Offenbar dies ist ein bekanntes Problem: Xamarin Forms muss die TargetAndroidVersion 21. (In der config-GUI, diese ist mit dem Titel "Kompilieren Sie mit Android-version:")
InformationsquelleAutor der Antwort Andy Hopper
In meinem Fall war das problem referenzierte dll Xamarin.iOS in der pcl-Projekt. Die Verlinkung funktioniert nicht für diese Baugruppe. Das entfernen der Referenz wurde das Problem behoben.
InformationsquelleAutor der Antwort koshiMan88
In meinem Fall problem ist aufgetreten, weil das hinzufügen Xamarin.ios.dll Portable Projekt-Referenzen. Ich habe entfernt, die Referenz und es funktioniert jetzt
InformationsquelleAutor der Antwort Onur
Ich auch erlebt das gleiche problem. Nach der Serie von Versuch und Fehler, die ich eine Lösung gefunden.
In Ihrer Manifest-Satz Ziel-Android-Version zu Android-7.1 (API Level 25 Nougat) oder Höher.
Set Kompilieren Android-Version zu Android-7.1 als gut.
Ich hoffe, das hilft
InformationsquelleAutor der Antwort uchenna nnodim
Änderte ich den Linker-Eigenschaften - > Verknüpfung aus dem Sdk-Assemblies Nur zu Sdk und User-Baugruppen für die Release-Konfiguration.
InformationsquelleAutor der Antwort James Esh
Ich es behoben ein Downgrade des Xamarin.Android.Unterstützung.v4 auf die version 21.0.0 im NuGet-Paket-Manager. Hoffe, dass Ihnen helfen,
InformationsquelleAutor der Antwort Pedro Câmara
Jus änderte ich die Verknüpfung von "NONE" auf "sdk und Anwender-assembly" und ich lief meine Lösung, und das Problem wurde gelöst. nach, die Sie ändern können "sdk und Anwender-assembly" auf "NONE" und führen Sie Ihr Projekt ohne Frage.
Aber die release-Datei, die Größe wird sich etwas ändern.
geben Sie eine Bild-Beschreibung hier
InformationsquelleAutor der Antwort MohammadReza Moradi
In meiner Jagd habe ich geändert, das der linker-Eigenschaft ( Linker --> Verknüpfung ) auf "None". Ich benutze visual studio 2017 RC
InformationsquelleAutor der Antwort Anish Manchappillil
Ive gelöst, dass das ändern der Android-Linker-Verhalten-option im Optionen - > Android-Builder > Linker "Link sdk Nur Baugruppen" zu "nicht-link".
InformationsquelleAutor der Antwort Alvaro Pereira