Ich arbeite auf meine erste Android-App und habe Probleme. Ich versuche, die einfachste Android-App zu erstellen und zu archivieren und kann den Archivierungsschritt nicht ausführen. HierSehr einfache Xamarin.Forms App archiviert nicht
ist, was ich tue ...
- starten VS2017 Preview mit Xamarin Vorschau Erweiterung und Xamarin Updater (alles vollständig aktualisiert)
Run Android SDK-Manager und installieren Sie den folgenden
Android SDK Tools 25.2.5 Android SDK Platform-tools 26 Android SDK Build-tools 26 Android SDK Build-tools 25.0.3 Android SDK Build-tools 25.0.2 Android SDK Build-tools 25.0.1 Android SDK Build-tools 25 SDK Platform 25.3 Android Support Repository 47 Google Play Services 42 Instant Apps Development SDK 1 Google Play Licensing Library 1 Google Play Billing Library 5 Google USB Driver 11 Google Web Driver 2 Emulator 26
Erstellen Sie eine neue Cross Platform (App1) mit Standardeinstellungen (Xamarin.Forms - Leere App - Shared Project), ich mache keine Änderungen am Code.
öffnen App1.Android Poperties
Compile using Android version: Android 7.1 (Nougat) Package Name: App1 Version number: 1 Version name: 1.0 Minimum Android version: Android 7.1 (API Level 25 - Nougat) Target Android version: Android 7.1 (API Level 25 - Nougat) Linking: Sdk Assemblies Only Everything else are default values
Set für Release und Bauen: Erfolg
Archiv: Die "LinkAssemblies" Aufgabe unerwartet fehlgeschlagen.
Mono.Linker.MarkException: Error processing method: 'TNativeView Xamarin.Forms.Platform.Android.ViewRenderer'2::get_Control()' in assembly: 'Xamarin.Forms.Platform.Android.dll' ---> System.ArgumentNullException: Value cannot be null. Parameter name: instruction at Mono.Cecil.Cil.InstructionOffset..ctor(Instruction instruction) at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) at Mono.Cecil.Cil.CodeReader.ReadScopes(Collection'1 scopes) at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) at Mono.Cecil.Cil.CodeReader.ReadScopes(Collection'1 scopes) at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) at Mono.Cecil.Cil.CodeReader.ReadDebugInfo() at Mono.Cecil.Cil.CodeReader.ReadMethodBody() at Mono.Cecil.Cil.CodeReader.ReadMethodBody(MethodDefinition method) at Mono.Cecil.MethodDefinition.<>c.<get_Body>b__41_0(MethodDefinition method, MetadataReader reader) at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TRet& variable, TItem item, Func'3 read) at Mono.Cecil.MethodDefinition.get_Body() at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) at Mono.Linker.Steps.MarkStep.ProcessQueue() --- End of inner exception stack trace --- 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(DirectoryAssemblyResolver res) at Xamarin.Android.Tasks.LinkAssemblies.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
Wo falsch gehe ich? Wie kann ich eine so einfache leere Vorlagen-App vermasseln?
Die Verwendung von 'Linking: None' führt zu einem erfolgreichen Build und Archiv. Der erneute Versuch mit 'Sdk Assemblies Only' führt zu einem erfolgreichen Build, der Verknüpfungsschritt schlägt mit dem gleichen genauen Fehler fehl. – davecove