Search Unity

TextMesh Pro iOS Cloud Build Failing - Missing TextMeshPro DLL

Discussion in 'UGUI & TextMesh Pro' started by charles_xl, Nov 18, 2017.

  1. charles_xl

    charles_xl

    Joined:
    Oct 4, 2016
    Posts:
    87
    Hi guys,

    All of my cloud builds for iOS have been failing lately due to the following error:

    2525: [Unity] ArgumentException: The Assembly UnityEngine.CoreModule is referenced by TextMeshPro-1.0.55.2017.2.0b12 ('Assets/TextMesh Pro/Plugins/Runtime DLL/TextMeshPro-1.0.55.2017.2.0b12.dll'). But the dll is not allowed to be included or could not be found.
    2526: [Unity] Fatal error in Unity CIL Linker
    2527: [Unity] Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
    2528: [Unity] at UnityLinker.UnityDriver.RunDriverWithoutErrorHandling () [0x00001] in <93d4604709a4446c86080812cd086672>:0
    2529: [Unity] Exception: /UNITY_PATH/Unity/Unity-2017_1_2f1/Unity.app/Contents/il2cpp/build/UnityLinker.exe did not run properly!
    2530: [Unity] Player export failed. Reason: 5 errors
    2531: [Unity] TypeLoadException: Could not load type 'UnityEngine.UI.ContentSizeFitter' from assembly 'UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
    2532: ! build of 'ios-build' failed. compile failed
    2533: publishing finished successfully.
    2534: Finished: FAILURE
     
  2. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    Are you able to build on iOS on a local machine? This would enable us to determine if this is a cloud build issue.
     
  3. D3DGames

    D3DGames

    Joined:
    Feb 12, 2017
    Posts:
    5
    I'm getting the same error building iOS on a local machine, so it's not cloud build related. I can run in the editor just fine, no errors. I can also get it to work fine on my Mac but my PC is seeing this error. Text Mesh Pro has been nothing but a headache from day one that I am considering removing it from my projects altogether.
     
  4. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    The errors reported above also point to issues with UnityEngine.UI.ContentSizeFitter which is unrelated to TMP so most likely these errors are related to UnityEngine.CoreModule not being found or something else. @charles_xl are you using Unity 2017.2 or some other version of Unity?

    What version of Unity are you getting those errors on and what version of TextMesh Pro are you using? To identify the version of TextMesh Pro that you are using, look at the name of the TextMesh Pro DLL located in "TextMesh Pro/Plugins/..." the names will be something like "TextMeshPro-1.0.55.xx.0b12" where the xx indicated the version of Unity they are valid for.

    Running into issues is never a fun thing and I certainly understand how this can be frustrating. I apologize for any inconvenience this may have caused. As always I am here to provide assistance to help identify and resolve potential issues so you can get the results you seek out of TextMesh Pro.

    Rest assured, there are ten's of thousands of Unity users relying and working with TextMesh Pro everyday and for whom everything is working great so we just need to figure in your case(s) why you are running into these issues.
     
  5. charles_xl

    charles_xl

    Joined:
    Oct 4, 2016
    Posts:
    87
    Hey Stephan, sorry for some reason I didn't get an email about your reply. Yes, I'm able to build fine on my local machine, I only have issues when trying to run an iOS Cloud Build. Any ideas? Thanks for your help!
     
  6. charles_xl

    charles_xl

    Joined:
    Oct 4, 2016
    Posts:
    87
    Could it be that Cloud Build was running with 2017.1 as it's Unity version instead of 2017.2?
     
  7. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    That is most likely as some assemblies were changed or added in 2017.2 which includes the UnityEngine.CoreModule which I do not believe was present in 2017.1. So since TMP was built and references the assemblies in 2017.2, it would make sense that you get this error in 2017.1.

    Are you able to test if you get the same behavior with Cloud Build with 2017.2?
     
  8. D3DGames

    D3DGames

    Joined:
    Feb 12, 2017
    Posts:
    5
    I'm using Unity 2017.2.0f3 with Text Mesh Pro version 1.0.55.2017.2.0b12. Works fine in the editor, works fine on a Mac when I create an XCode project. When I create an XCode project on a Windows 10 PC, it starts building all my scene files, then just after it completes building the scene files but before it finishes the rest of the things it builds, 3 errors show up, similar to the user above:
    ------------------------------------------ error 1 -----------------------
    ArgumentException: The Assembly UnityEditor is referenced by TextMeshPro-1.0.55.2017.2.0b12 ('Assets/TextMesh Pro/Plugins/TextMeshPro-1.0.55.2017.2.0b12.dll'). But the dll is not allowed to be included or could not be found.
    UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:152)
    UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:158)
    UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:192)
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr)
    ------------------------------------------------------------------------------

    --------------------------------------------error 2--------------------------

    Build completed with a result of 'Failed'
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr)

    -----------------------------------------------------

    ---------------------------------------------error 3-------------------------

    UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
    at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x00207] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:172
    at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr)

    -------------------------------------------------------------------------------


    Thank you. There is nothing more frustrating than to be withheld from being able to create an XCode project and run on an actual device due to something like this. Hopefully this issue can be resolved as I do wish to continue to make use of Text Mesh Pro within my projects.
     
  9. D3DGames

    D3DGames

    Joined:
    Feb 12, 2017
    Posts:
    5
    Fixed! I don't know what it was with yesterday's Text Mesh Pro asset import, but I reimported it again today, and it built fine. Whew. Frustration gone.
     
    Stephan_B likes this.
  10. charles_xl

    charles_xl

    Joined:
    Oct 4, 2016
    Posts:
    87
    Just changed my Cloud Build config to 2017.2 and it works! Thanks for you help!
     
    Stephan_B likes this.