代码之家  ›  专栏  ›  技术社区  ›  JeroenM

Xamarin Android存档失败:iOS。动态链接库

  •  1
  • JeroenM  · 技术社区  · 8 年前

    几周后,我想在谷歌商店上安装一个新的alpha版本的应用程序。(我已经在商店里放了4个版本,没有任何问题) 但是,当我尝试将其归档时,会出现以下(巨大)错误:

    Severity    Code    Description Project File    Line    Suppression State
    Error       The "LinkAssemblies" task failed unexpectedly.
    Mono.Linker.MarkException: Error processing method: 'System.Void ObjCRuntime.Runtime::set_UseAutoreleasePoolInThreadPool(System.Boolean)' in assembly: 'Xamarin.iOS.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void System.Threading._ThreadPoolWaitCallback::SetDispatcher(System.Func`2<System.Func`1<System.Boolean>,System.Boolean>)
       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.ProcessEntireQueue()
       at Mono.Linker.Steps.MarkStep.Process()
       at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
       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() Checkk.Android          
    

    我的Android版本中有以下属性: 链接:仅SDK程序集(如果我不使用链接,应用程序大小将变得太大)

    支持的体系结构: Armaebi-v7a和;x86

    最低Android版本:4.0.3 目标Android版本:4.03

    我更改了应用程序的版本,删除了bin和object文件夹,并清理了解决方案。

    1 回复  |  直到 8 年前
        1
  •  0
  •   JeroenM    8 年前

    我发现问题:

        switch (Device.RuntimePlatform)
         {
         case Device.iOS:
         break;
         }
    

    这导致了问题,因为在我把它放进评论后,我没有收到任何错误。 所以Xamarin不喜欢我用这个?

    推荐文章