LinkAssemblies 任务意外失败 - Android.Support。V7.Internal.View.Menu.MenuBuilder

The LinkAssemblies Task Failed Unexpectedly - Android.Support.V7.Internal.View.Menu.MenuBuilder

我已将我的应用程序升级到最新版本 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

有人遇到过这个问题吗?

以下步骤解决了问题:

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

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

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

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

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