【问题标题】:Xamarin Traditional Android Project Build On Visual Studio 2017 But Have ErrorXamarin 传统 Android 项目在 Visual Studio 2017 上构建但出现错误
【发布时间】:2017-03-12 19:42:48
【问题描述】:

我在 2-3 个月前创建了 xamarin traditinal android 项目,但我需要更新此项目,但出现错误;

Severity    Code    Description Project File    Line    Suppression State
Error       The "LinkAssemblies" task failed unexpectedly.
Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Could not resolve reference to 'System.Void Android.App.Activity::OnMultiWindowModeChanged(System.Boolean)' (defined in assembly 'Xamarin.Android.Support.Fragment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null') with scope 'Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065'. 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 Android.App.Activity::OnMultiWindowModeChanged(System.Boolean)
   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 MonoDroid.Tuner.MonoDroidMarkStep.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)
   --- End of inner exception stack trace ---
   at Java.Interop.Tools.Diagnostics.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args)
   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() MHG.SozumSana.UI

【问题讨论】:

    标签: c# android xamarin mono xamarin.android


    【解决方案1】:

    错误 XA2006:无法解析对“System.Void Android.App.Activity::OnMultiWindowModeChanged(System.Boolean)”的引用(在程序集“Xamarin.Android.Support.Fragment,版本=1.0.0.0,文化=中性,PublicKeyToken=null'),范围为 'Mono.Android,Version=0.0.0.0,Culture=neutral,PublicKeyToken=84e04ff9cfb79065'。

    请检查onMultiWindowModeChanged API,它是在 API 级别 24 中添加的。正如@MCZ 建议的那样,this is a known issue

    您可以尝试像这样更改设置:

    另外,Android 7.0 需要 Android JDK 1.8,我想你可能已经安装了它,因为你可以更早地构建你的应用程序,请检查 Java Development Kit Location 在 Tools -> Options-> Xamarin 的你的 VS2017。

    【讨论】:

      【解决方案2】:

      在使用 Visual Studio 检查链接器属性时,它主要设置为“无”,您必须更改它。

      并检查 TargetAndroidVersion。 (在配置 GUI 中,标题为“使用 Android 版本编译:”)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-03
        • 1970-01-01
        • 1970-01-01
        • 2018-06-02
        • 1970-01-01
        • 2019-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多