tutorial - xamarin visual studio 2013
La tarea "LinkAssemblies" falló inesperadamente (9)
Cuando intentamos construir un proyecto de formularios xamarin en modo de lanzamiento, recibimos el error:
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)
¿Cómo podemos resolver esto? Hemos intentado limpiar y construir de nuevo. Incluso cerrando xamarin studio y reiniciándolo. Nada parece funcionar.
Estamos en la última versión de xamarin forms y xamarin forms labs. El nivel mínimo de API de Android que estamos usando es 17. Incluso probé la versión mínima de SDK 20.
Algunos más detalles:
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)
Aparentemente, este es un problema conocido : Xamarin Forms necesita que TargetAndroidVersion sea 21. (En la GUI de configuración, se titula "Compilar usando la versión de Android:")
En mi caso se produjo un problema debido a la adición de Xamarin.ios.dll a las referencias de proyectos portátiles. He eliminado esa referencia y funciona ahora
En mi caso, se hizo referencia al problema dll Xamarin.iOS en el proyecto pcl. La vinculación no funciona para este ensamblaje. La eliminación de la referencia solucionó el problema.
En mi persecución he cambiado la propiedad del enlazador (Enlazador -> Enlazando) a ''Ninguno''. Estoy usando visual studio 2017 RC
He resuelto esa modificación de la opción de Android Linker Behavior en options> Android Builder> Linker from "Link sdk Assemblies Only" to "do not link".
Jus cambié el enlace de "NINGUNO" a "ensamblado de SDK y usuarios" y ejecuté mi solución, y el problema se resolvió. después de eso, puede cambiar "sdk and users assembly" a "NONE" y ejecutar su proyecto sin ningún problema.
Pero el tamaño del archivo de lanzamiento puede ser cambiado.
Lo arreglé degradando Xamarin.Android.Support.v4 a la versión 21.0.0 en NuGet Package Manager. Espero que te ayude
También experimenté el mismo problema. Después de una serie de pruebas y errores, encontré una solución.
En su Conjunto de manifiesto, elija la versión de Android para Android 7.1 (nivel de API Nougat 25) o superior. Establecer compilar la versión de Android a Android 7.1 también.
espero que esto ayude