[SOLVED][Unity2017.1]Android build error on macos "UnityLinker.exe did not run properly!"

Hello,

When Launch an Android “Build And Run” I’v got following error:

Failed running C:\Program Files\Unity_2017.1.0f3\Editor\Data\il2cpp/build/UnityLinker.exe --api=NET_2_0_Subset -out=“D:\Document\DEV\Unity\Luminos-2017\Temp\StagingArea\Data\Managed\tempStrip” -l=none -c=link --link-symbols -x=“C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Core.xml” -f=“C:\Program Files\Unity_2017.1.0f3\Editor\Data\il2cpp\LinkerDescriptors” -x “D:\Document\DEV\Unity\Luminos-2017/Temp\StagingArea\Data/methods_pointedto_by_uievents.xml” -x “D:\Document\DEV\Unity\Luminos-2017\Temp\StagingArea\Data\preserved_derived_types.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\il2cpp\LinkerDescriptors\mscorlib_mono.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\AI.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Animation.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Audio.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Cloth.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Core.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\CrashReporting.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Director.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\GameCenter.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\ImageConversion.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\IMGUI.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Input.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\JSONSerialize.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\ParticlesLegacy.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\ParticleSystem.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\PerformanceReporting.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Physics.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Physics2D.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\ScreenCapture.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\SpriteMask.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\StyleSheets.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Terrain.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\TerrainPhysics.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\TextRendering.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UI.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UIElements.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UNET.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UnityAnalytics.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UnityConnect.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UnityWebRequest.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UnityWebRequestAudio.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UnityWebRequestTexture.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\UnityWebRequestWWW.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Vehicles.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Video.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\VR.xml” -x “C:\Program Files\Unity_2017.1.0f3\Editor\Data\PlaybackEngines\AndroidPlayer\Whitelists\Web.xml” -x “D:\Document\DEV\Unity\Luminos-2017\Assets\link.xml” -d “D:\Document\DEV\Unity\Luminos-2017\Temp\StagingArea\Data\Managed” -a “D:\Document\DEV\Unity\Luminos-2017\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll” -a “D:\Document\DEV\Unity\Luminos-2017\Temp\StagingArea\Data\Managed\Assembly-UnityScript.dll”

stdout:
Fatal error in Unity CIL Linker
System.ArgumentException: Unable to find the file for the assembly named ‘System.Configuration, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’. Should this assembly be in the project? Use the ‘ignoreIfMissing=“1”’ attribute if this assembly may not always exist. —> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: ‘System.Configuration, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’
� Mono.Linker.LinkContext.Resolve(IMetadataScope scope)
� UnityLinker.Steps.UnityResolveFromXmlStep.GetAssembly(LinkContext context, AssemblyNameReference assemblyName)
� UnityLinker.Steps.UnityResolveFromXmlStep.ProcessAssemblies(LinkContext context, XPathNodeIterator iterator)
— Fin de la trace de la pile d’exception interne —
� UnityLinker.Steps.UnityResolveFromXmlStep.ProcessAssemblies(LinkContext context, XPathNodeIterator iterator)
� Mono.Linker.Steps.BaseStep.Process(LinkContext context)
� Mono.Linker.Pipeline.Process(LinkContext context)
� UnityLinker.UnityDriver.Run()
� UnityLinker.UnityDriver.RunDriver()
stderr:

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73) UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:89)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[ ], String[ ], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:82)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(String, IEnumerable, String, String[ ], String[ ], String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:200)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:114)
UnityEditorInternal.AssemblyStripper:InvokeFromBuildPlayer(BuildTarget, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:294)
UnityEditor.HostView:OnGUI()

I think about code stripping that would remove System.Configuration code but my link.xml file already contain :

Any idea ?

Thank You !

Florent

Did you solve, we have same error.

Yes, this problem occur when your link.xml file contain an assembly that is no more present in your project. My error was saying "Unable to find the file for the assembly named 'System.Configuration, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’."

Solution was to remove below xml tag of my link.xml file :


I do not really understood why my project do not need anymore to whiteliste this assembly but fact fixing link.xml file solve build problem and did not cause other issue…Note that my project was created initially on Unity 5.6

Have nice day

Another thing, error was given a clue mentionning : “Use the ‘ignoreIfMissing=“1”’ attribute if this assembly may not always exist.”