2017-03-05 3 views
0

Meine App funktioniert im Debug-Modus in Ordnung, aber wenn ich es in Release bauen will bekomme ich folgende Fehlermeldung:Cant bauen meine App in Release-Modus

Fehler 1 Unerwarteter Fehler bei der LinkAssemblies-Aufgabe. 
Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Could not resolve reference to 'System.Void Xamarin.Forms.Element::set_AutomationId(System.String)' (defined in assembly 'ZXing.Net.Mobile.Forms, Version=2.1.47.0, Culture=neutral, PublicKeyToken=null') with scope 'Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null'. When the scope is different from the defining assembly, it usually means that the type is forwarded. ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void Xamarin.Forms.Element::set_AutomationId(System.String) 
    bei Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference) 
    bei Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction) 
    bei Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) 
    bei Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) 
    bei Mono.Linker.Steps.MarkStep.ProcessQueue() 
    bei Mono.Linker.Steps.MarkStep.Process() 
    bei Mono.Linker.Steps.MarkStep.Process(LinkContext context) 
    bei MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context) 
    bei Mono.Linker.Pipeline.Process(LinkContext context) 
    bei MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context) 
    bei Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 
    --- Ende der internen Ausnahmestapelüberwachung --- 
    bei Java.Interop.Tools.Diagnostics.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args) 
    bei Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 
    bei Xamarin.Android.Tasks.LinkAssemblies.Execute() 
    bei Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    bei Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() Euroscola_App1 

Dieses Problem besteht seit heute, ich weiß nicht, wenn Der Grund ist, dass ich eine neuere Xamarin-Version heruntergeladen habe oder weil ich das ZXing-Paket installiert habe.

+0

Tritt das Problem auch, wenn Sie ZXing entfernen? –

Antwort

0

When the scope is different from the defining assembly, it usually means that the type is forwarded.

Sie haben die Anwendung Linkers in Ihrem Xamarin.Android Anwendung Projekt freigegeben und es gibt eine Diskrepanz in Versionen zwischen weitergeleitet Typen in Xamarin.Forms und ZXing.Net.Mobile.Forms. Im Grunde ZXing.Net.Mobile.Forms wurde gegen eine ältere Version von Forms kompiliert, die Sie derzeit in Ihrem Projekt verwenden und ist ein wirklich häufiges Problem, wenn die Assembly C# -Erweiterungen enthält.

Zwei Optionen, deaktivieren Sie für die gesamte Anwendung zu koppeln oder deaktivieren nur für die Zing Montage verbindet:

nur für diese eine Baugruppe Verknüpfung zu deaktivieren, bearbeiten Sie Ihre Android-Anwendung-Projekt (.csproj) und fügen Sie die folgende < AndroidLinkSkip>:

<PropertyGroup> 
    <AndroidLinkSkip>ZXing.Net.Mobile.Forms</AndroidLinkSkip> 
</PropertyGroup> 

Ref: Xamarin Android Linking: AndroidLinkSkip

Verwandte Themen