Xamarin.Forms 获取 Mono.Linker.MarkException:在发布模式下编译时的错误处理方法

Mar*_*son 11 linker android xamarin.android xamarin.forms

我有一个在 Windows 上使用 VS2017 (15.7.1) 的 Xamarin.Forms (2.5.1.527436) 应用程序。android 项目在调试下构建并运行良好。但是,当我在 release 下构建时,出现以下错误:

严重性代码描述项目文件行抑制状态错误“LinkAssemblies”任务意外失败。Mono.Linker.MarkException:错误处理方法:程序集中的“System.Void Xamarin.Forms.Pages.BaseDataSource/d__22::MoveNext()”:“Xamarin.Forms.Pages.dll”---> Mono.Cecil.ResolutionException : 无法解析 System.Void Xamarin.Forms.Log::Warning(System.String,System.String) at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference) at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference)参考) 在 Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction 指令) 在 Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) 在 Mono.Linker.Steps.MarkStep。

我正在链接“仅限 Sdk 程序集”,最低 android 版本为 5.1(22 级),目标 Android 版本为 8.1(27 级)

有任何想法吗?

Vic*_*ros 7

就我而言,经过大量研究后,我只是

  • 在 3 个项目 Forms、Android 和 iOS 中升级了一些 nuget 包,这在发布模式下修复了问题。

或者

  • 同样将Linking更改为 None解决了问题,而无需升级包,但我认为不推荐这样做。