【问题标题】:Xamarin Release Build is erroring with Failed to resolve System.Void Xamarin.Forms.Log::Warning(System.String,System.String)Xamarin Release Build 出错,无法解析 System.Void Xamarin.Forms.Log::Warning(System.String,System.String)
【发布时间】:2019-08-01 02:17:50
【问题描述】:

当我在调试模式下编译我的 Xamarin 应用程序时,一切都很好。但是当我在 Release 模式下编译时,出现以下错误:

The "LinkAssemblies" task failed unexpectedly.
Mono.Linker.MarkException: Error processing method: 'System.Void Xamarin.Forms.Pages.BaseDataSource/<Initialize>d__22::MoveNext()' in assembly: 'Xamarin.Forms.Pages.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve 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 reference)
   at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

我创建了另一个应用程序,默认为“欢迎使用 Xamarin 表单”。那工作得很好。 添加了预发布主题并在发布构建时遇到上述错误。

是否有人使用预发布的 Light/Dark 主题构建了发布应用程序并且知道如何构建它?

【问题讨论】:

    标签: xamarin.forms xamarin.android


    【解决方案1】:

    设法修复它。在 Android 项目属性下的 Android 选项中将链接更改为“无”...并且...从 MainActivity.cs 中注释掉此代码。当我第一次看到使用预发布主题时,它说下面的代码是必需的。好像是后期的主题,不需要了。

    // Added for themes (does not seem to be required anymore)? 
    //var x = typeof(Xamarin.Forms.Themes.DarkThemeResources); 
    //x = typeof(Xamarin.Forms.Themes.LightThemeResources); 
    //var x = typeof(Xamarin.Forms.Themes.Android.UnderlineEffect);
    

    【讨论】:

    • 也许您可以将其作为 Xamarin.Forms 在 GitHub 中的建议提供,因为缺少链接会使您的应用变得更大。
    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多