2017-03-05 6 views
0

私のアプリをデバッグモードで正常に動作しますが、私はしたい場合リ​​リースでそれを構築するためにリリースモードで私のアプリを構築し、私は次のエラーを取得する:カント

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 

この問題は、今日、私があれば知らないので、存在しています理由は、私が新しいXamarinバージョンをダウンロードした、またはZXing Packageをインストールしたためです。

+0

問題が解消されていますか? –

答えて

0

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

あなたはリンカがあなたのXamarin.Androidアプリケーションプロジェクトで有効とXamarin.FormsZXing.Net.Mobile.Formsで転送タイプ間のバージョンの不一致があるアプリケーションを持っています。基本的にZXing.Net.Mobile.Formsは、以前のバージョンのFormsに対してコンパイルされていましたが、現在はプロジェクトで使用しています。アセンブリにC#拡張が含まれている場合は、本当によくある問題です。

つのオプションは、アプリケーション全体のためにリンクを無効またはちょうどジングアセンブリのためのリンクを無効:

、ただ1つのアセンブリのためにリンクを無効あなたのAndroidアプリケーションプロジェクト(.csproj)を編集して、次の< AndroidLinkSkip>追加するには:

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

参考:Xamarin Androidのリンク:あなたはZXingを削除する場合AndroidLinkSkip