Search Unity

UWP Build fails with I18N.dll in plugins folder

Discussion in 'Windows' started by ArneSnackaert, Sep 2, 2020.

  1. ArneSnackaert

    ArneSnackaert

    Joined:
    Jun 12, 2019
    Posts:
    7
    Hi,

    I use unity 2019.4.9 with UWP.
    When trying to build the project following error occured during build in UWP:

    Failed running C:\Program Files\Unity\Hub\Editor\2019.4.9f1\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe -out=C:/VRSoft/Temp/StagingArea/Data/Managed/tempStrip -x="C:/Users/SNACKA~1/AppData/Local/Temp/tmp333f97f.tmp" -x="C:/Users/SNACKA~1/AppData/Local/Temp/tmp213728d5.tmp" -x=C:/VRSoft/Temp/StagingArea/Data/Managed/TypesInScenes.xml -x=C:/VRSoft/Assets/link.xml -d=C:/VRSoft/Temp/StagingArea/Data/Managed --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.XR.Management.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.XR.OpenVR.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/RenderHeads.AVProMovieCapture.Demos.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/RenderHeads.AVProMovieCapture.Runtime.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Mirror.Authenticators.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Mirror.Components.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Core.Runtime.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/ApathyTransport.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Mirror.Examples.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.XR.Oculus.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Ninja.WebSockets.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Apathy.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Universal.Runtime.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/NavMeshComponents.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/NavMeshComponentsExamples.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Mirror.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/UnityEngine.SpatialTracking.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/DissonanceVoip.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.TextMeshPro.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Unity.XR.WindowsMixedReality.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/Apathy.Native.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/DOTween.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/ProBuilderCore-Unity5.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/I18N.CJK.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/I18N.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/I18N.MidEast.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/I18N.Other.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/I18N.Rare.dll --include-unity-root-assembly=C:/VRSoft/Temp/StagingArea/Data/Managed/I18N.West.dll --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory=C:/VRSoft/Temp/StagingArea/Data/Managed --rule-set=Conservative --editor-data-file=C:/VRSoft/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --platform=WinRT --engine-modules-asset-file="C:/Program Files/Unity/Hub/Editor/2019.4.9f1/Editor/Data/PlaybackEngines/MetroSupport/Whitelists/../modules.asset"

    stdout:
    Fatal error in Unity CIL Linker
    Mono.Cecil.ResolutionException: Failed to resolve I18N.Common.MonoSafeEncoding
    at Mono.Linker.BCL.EventTracingForWindows.IsEventSourceImplementation(TypeDefinition type, LinkContext context)
    at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
    at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type)
    at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly)
    at Unity.Linker.Steps.UnityMarkStep.InitializeAssembly(AssemblyDefinition assembly)
    at Mono.Linker.Steps.MarkStep.Initialize()
    at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
    at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
    at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
    at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
    at Mono.Linker.Pipeline.Process(LinkContext context)
    at Unity.Linker.UnityDriver.Run()
    at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling()
    at Unity.Linker.UnityDriver.RunDriver()
    stderr:

    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase)
    UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1)
    UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String)
    UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String, String&, String&, IEnumerable`1, UnityLinkerRunInformation)
    UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(UnityLinkerRunInformation)
    UnityEditorInternal.AssemblyStripper:StripAssemblies(String, BaseUnityLinkerPlatformProvider, IIl2CppPlatformProvider, RuntimeClassRegistry, ManagedStrippingLevel)
    UnityEditorInternal.IL2CPPBuilder:Run()
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry)
    PostProcessWinRT:RunIL2CPPForProjectBuild() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessWinRT.cs:1874)
    PostProcessWinRT:RunIL2CPP() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessWinRT.cs:1845)
    PostProcessWinRT:process() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessWinRT.cs:214)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)
     
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    This looks like a bug. Can you submit a bug report? We will investigate this.

    https://unity3d.com/unity/qa/bug-reporting
     
  3. ArneSnackaert

    ArneSnackaert

    Joined:
    Jun 12, 2019
    Posts:
    7
    I have submitted a bug report. Case 1274723
     
    JoshPeterson likes this.
  4. stuey0016

    stuey0016

    Joined:
    Oct 6, 2012
    Posts:
    10
    I'm having the exact same issue with Unity 2019.4.11. Was there any resolution?
     
  5. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    Are you able to get us a project that reproduces this? The original reporter promised to do it a month ago but we haven't received it yet :(.
     
  6. stuey0016

    stuey0016

    Joined:
    Oct 6, 2012
    Posts:
    10
    Ha! I assumed the original reporter had submitted it. It's pretty late here right now, but I'll put a formal bug report together tomorrow and try and submit my project.
     
  7. stuey0016

    stuey0016

    Joined:
    Oct 6, 2012
    Posts:
    10
    @Tautvydas-Zilys ,

    I'm trying to prepare my project for submission with this bug report, however the two tools in the link posted by @JoshPeterson above, Repro Project Wizard and Project Stripping tool both lead to broken links:

    https://unity3d.com/unity/qa/bug-reporting

    I'd prefer not to send you a massive 16GB project archive, but I would definitely like to assist you in reproducing this bug. Could you direct me to the proper places to find these tools so I can submit a proper bug report? Thank you!
     
  8. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    Can you just create a new project and copy over all the DLL and .cs files? That should be enough to reproduce this.
     
  9. stuey0016

    stuey0016

    Joined:
    Oct 6, 2012
    Posts:
    10
    @Tautvydas-Zilys,

    I actually think I stumbled upon a solution, and it should work for the original poster (@ArneSnackaert) as well as for anyone else who has this problem.

    I noticed today that there was only one version of I18N.dll and I18N.West.dll in my project, and that they're both targeting .Net 3.5 (I didn't see this until I selected the file in the editor). My project is intended for .Net 4.6. But it was still trying to link in those versions, presumably because it was the only ones it could find. I did a search through my Visual Studio directories and found versions compatible with .Net 4.x. I simply copied them into my project, enabled them for Editor, Standalone and WSA Player, and then disabled the 3.5 versions. Voila...it worked!

    Is this is the cleanest or most correct solution? Probably not. But I now have a successful UWP build, so I'm not complaining. Sorry I could never get you a sample project! Hopefully this helps even more.

    I opened bug 1285943 today, but it's now solved. Please feel free to close that issue now. Thank you!
     
  10. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    Yeah, if you were using the DLLs that were targeting a different .NET version that would explain why you were seeing that issue.