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

问题描述 投票:4回答:1

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

严重级别描述项目文件行抑制状态错误“ 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)在Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference参考)在Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference参考)在Mono.Linker.Steps.MarkStep.MarkInstruction(指令说明)在Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody主体)在Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition方法)在Mono.Linker.Steps.MarkStep.ProcessQueue()---内部异常堆栈跟踪的结尾---在Mono.Linker.Steps.MarkStep.ProcessQueue()在Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()在Mono.Linker.Steps.MarkStep.Process()在Mono.Linker.Steps.MarkStep.Process(LinkContext上下文)在Mono.Linker.Pipeline.Process(LinkContext上下文)在MonoDroid.Tuner.Linker.Process上(LinkerOptions选项,ILogger记录器,LinkContext&上下文)在Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)在Xamarin.Android.Tasks.LinkAssemblies.Execute()在Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()在Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()IRMobile.Android C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets 1812

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

有什么想法吗?

android xamarin.forms xamarin.android linker
1个回答
0
投票

就我而言,经过一堆研究之后

  • 升级了一些nuget软件包,在3个项目Forms(Android和iOS)中,这已解决了发行模式下的问题。

OR

  • 也更改了[[链接到无]]在不升级软件包的情况下解决了该问题,但我认为不建议这样做。
© www.soinside.com 2019 - 2024. All rights reserved.