The “LinkAssemblies” task failed unexpectedly

前端 未结 12 1907
故里飘歌
故里飘歌 2020-12-30 18:50

When we are trying to build a xamarin forms project in release mode, we are getting the error:

C:\\Program Files (x86)\\MSBuild\\Xamarin\\Android\\Xamarin.An         


        
相关标签:
12条回答
  • 2020-12-30 19:44

    I had a different root cause for the "LinkAssembliesTask failed" error.

    I was upgrading NuGet packages, and messed up the references.

    =====

    Let's say I had two projects:

    1. NetStandardProject

      • Has a reference to Assembly1.

      • Assembly1 has a class of CoolGuy, with a CoolGuy.Flex() method.

    2. AndroidProject, which references NetStandardProject.

      • Has a reference to Assembly2.

      • Assembly2 has a class of CoolGuy, but no CoolGuy.Flex() method.

    The linker was pulling in Assembly2, looking for CoolGuy.Flex(), then blew up with "LinkAssembliesTask failed", stating that it couldn't find the Flex() method. It couldn't because it was looking in the wrong assembly.

    The NetStandard project compiled, because it was referencing Assembly1, and didn't really care what AndroidProject was referencing. It's built independently. But when the linker loaded Assembly2, it was using the "wrong" assembly.

    I ended up sorta lucking out, and realized that one of the assemblies was unused, so I removed it, and the build succeeded.

    Hope that helps someone down the line.

    =====

    Bonus: If you want to see which assembly it's choosing to search, let the build fail, then go to the {project}\obj{profile}{android_version}\android\assets folder, and find the dll. You will likely be able to verify that it's not there, and give you a starting point to understanding why it's failing.

    0 讨论(0)
  • 2020-12-30 19:47

    In my case problem occured becasue of adding Xamarin.ios.dll to Portable Project references. I have removed that reference and it works now

    0 讨论(0)
  • 2020-12-30 19:48

    I´ve solved that changing Android Linker Behavior option in options > Android Builder > Linker from "Link sdk Assemblies Only" to "don't link".

    0 讨论(0)
  • 2020-12-30 19:50

    I fixed it downgrading the Xamarin.Android.Support.v4 to the 21.0.0 version in NuGet Package Manager. Hope that help you

    0 讨论(0)
  • 2020-12-30 19:52

    In my case the problem was referenced dll Xamarin.iOS in the pcl project. Linking does not work for this assembly. Removing the reference fixed the issue.

    0 讨论(0)
  • 2020-12-30 19:56

    I also experienced the same problem. After series of trial and errors i found a solution.

    In your Manifest set Target Android Version to Android 7.1 (API Level 25 Nougat) or Higher. Set Compile Android Version to Android 7.1 as well.

    I hope this helps

    0 讨论(0)
提交回复
热议问题