android - 在 Release模式下构建解决方案时, "LinkAssemblies"任务意外失败

标签 android visual-studio xamarin xamarin.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 'Android.Views.KeyboardShortcutGroup' 
    (defined in assembly 'Xamarin.Android.Support.v7.AppCompat, 
    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 
    differentfromthe defining assembly, it usually means that the type is 
    forwarded.---> Mono.Cecil.ResolutionException: Failed to 
    resolveAndroid.Views.KeyboardShortcutGroup   
    at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)   
    at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)   
    at Mono.Linker.Steps.MarkStep.MarkGenericArguments(IGenericInstance 
    instance) 
    at Mono.Linker.Steps.MarkStep.GetOriginalType(TypeReference type)
    at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
    at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
    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.Run(Pipeline pipeline, 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()   

最佳答案

您可能需要将目标 Android 版本(在使用 Android 版本编译下的 Android 项目属性中)增加到 API 24,因为 KeyboardShortcutGroup 直到 API 24 才引入。

关于android - 在 Release模式下构建解决方案时, "LinkAssemblies"任务意外失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44086909/

相关文章:

android - 在 Android 中使用已弃用的 AbsoluteLayout 类?

android - 在 for 循环中动态添加 View 会导致随意定位 - Android

java - Android:在运行时在java代码中创建radioButtons

c# - 如何在 Xamarin 中查找当前的 UIViewController

c# - Java.Lang.NoClassDefFoundError : Timeout exceeded getting exception details Xamarin Android 错误

android - 使用xml解析获取请求的资源不支持http方式POST

visual-studio - 如何从 cmake 发送 Visual Studio 配置选项

visual-studio - 如何在 Visual Studio 中删除智能感知建议?

c# - 使用复选框更改 datagridview 中的tiny int

xamarin - 如何在 Xamarin.forms 中立即获取 GPS 位置?