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

时间:2016-05-05 15:33:10

标签: xamarin xamarin.android

我已将我的应用升级到最新的Xamarin / Xamarin Android我在使用Sdk Assemblies仅在我的链接器属性中遇到了问题。这与我以前使用的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

有人有这个问题吗?

1 个答案:

答案 0 :(得分:0)

以下步骤解决了问题:

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

这停止了上面的链接器错误,但报告了另一个错误,该位置和文件不存在于: C:\ Users \用户USER \应用程序数据\本地\ Xamarin \ Android.Support.Design \ 23.3.0.0 \嵌入

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

然后我解压缩了存储库并在winrar中打开了以下文件: android_m2repository_r29 \ m2repository \ COM \机器人\支持\设计\ 23.3.0 \设计23.3.0.aar

当该文件的内容被解压缩到上面的新嵌入文件夹中时,该项目构建,部署并发布了一个只选择了SDK Assemblies的apk。