当链接器选项 =“仅 SDK”和“无法解析 Android.App.Fragment”消息时,我收到编译时错误。当我向我的 MonoDroid 应用程序添加带有 FragmentActivity 的谷歌地图支持时,这一切都开始了。
使用 Linker option = "None" 一切正常,除了 .apk 变得巨大(仅启用链接 SDK 时约为 30mb 而不是 7mb)
错误详情:
The "LinkAssemblies" task failed unexpectedly.
Mono.Cecil.ResolutionException: Failed to resolve Android.App.Fragment
at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
at Mono.Linker.Steps.MarkStep.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()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
我发现了很多类似的问题(1、2、3),唯一提出的解决方案是禁用链接器,这对我的应用程序而言并非如此。
如何诊断和解决问题?
蒂亚!