【问题标题】:The LinkAssemblies Task Failed Unexpectedly - Android.Support.V7.Internal.View.Menu.MenuBuilderLinkAssemblies 任务意外失败 - Android.Support.V7.Internal.View.Menu.MenuBuilder
【发布时间】:2016-05-06 21:27:58
【问题描述】:

我已将我的应用程序升级到最新的 Xamarin/Xamarin Android,但在我的链接器属性中仅使用 Sdk 程序集构建时遇到了问题。这不是我使用的以前版本的 Xamarin (3.11.1594. / 5.1.7.12) 的问题。

我还更改了我的应用程序以使用 Android 6.0 (23) 作为编译和目标版本。

错误如下:

Error The "LinkAssemblies" task failed unexpectedly.
Xamarin.Android.XamarinAndroidException: error XA2006: Reference to metadata item 'Android.Support.V7.Internal.View.Menu.MenuBuilder' (defined in 'Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null') from 'Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' could not be resolved. ---> Mono.Cecil.ResolutionException: Failed to resolve Android.Support.V7.Internal.View.Menu.MenuBuilder
at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type)
at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly)
at Mono.Linker.Steps.MarkStep.Initialize()
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()
--- End of inner exception stack trace ---
at Xamarin.Android.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args)
at Xamarin.Android.Tasks.LinkAssemblies.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() Droid

有人遇到过这个问题吗?

【问题讨论】:

  • 您是否通过android sdk manager更新了构建工具和sdk工具以及支持库?
  • 在 SDK 管理器中,我安装了 Android 支持库 23.2.1、构建工具 23.0.3 和 Android SDK 工具 25.1.3

标签: xamarin xamarin.android


【解决方案1】:

以下步骤解决了该问题:

我将我的 Xamarin.Android.Support.Design NuGet 包从 23.0.1.3 升级到 23.3.0,以匹配我的项目中已安装的其他 Xamarin.Android.Support.* 包版本。

这停止了上面的链接器错误,但报告了另一个错误,即位置和文件不存在于: C:\Users\USER\AppData\Local\Xamarin\Android.Support.Design\23.3.0.0\embedded

经过调查,我从以下位置下载了存储库: https://dl-ssl.google.com/android/repository/android_m2repository_r29.zip

然后我提取了存储库并在 winrar 中打开了以下文件: android_m2repository_r29\m2repository\com\android\support\design\23.3.0\design-23.3.0.aar

当该文件的内容被提取到上面的新嵌入文件夹中时,项目构建、部署和发布了一个仅选择 SDK 程序集的 apk。

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2013-08-24
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多