Search Unity

Error installing Entities package

Discussion in 'Entity Component System' started by LuisEGV, Feb 22, 2020.

  1. LuisEGV

    LuisEGV

    Joined:
    Jul 21, 2015
    Posts:
    36
    Something went wrong while Post Processing the assembly (Assembly-CSharp.dll) :
    Object reference not set to an instance of an object
    at Unity.Entities.CodeGen.TypeDefinitionExtensions.IsComponentSystem (Mono.Cecil.TypeDefinition arg) [0x00001] in /Users/myuser/Work/MyGame/Library/PackageCache/com.unity.entities@0.6.0-preview.24/Unity.Entities.CodeGen/CecilExtensionMethods.cs:200
    at Unity.Entities.CodeGen.TypeDefinitionExtensions.IsComponentSystem (Mono.Cecil.TypeDefinition arg) [0x000a2] in /Users/myuser/Work/MyGame/Library/PackageCache/com.unity.entities@0.6.0-preview.24/Unity.Entities.CodeGen/CecilExtensionMethods.cs:214
    at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () [0x0001d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
    at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
    at Unity.Entities.CodeGen.LambdaJobsPostProcessor.PostProcessImpl () [0x00001] in /Users/myuser/Work/MyGame/Library/PackageCache/com.unity.entities@0.6.0-preview.24/Unity.Entities.CodeGen/LambdaJobs/LambdaJobsPostProcessor.cs:177
    at Unity.Entities.CodeGen.EntitiesILPostProcessor.PostProcess (Mono.Cecil.AssemblyDefinition assemblyDefinition, System.Boolean& madeAChange) [0x00009] in /Users/myuser/Work/MyGame/Library/PackageCache/com.unity.entities@0.6.0-preview.24/Unity.Entities.CodeGen/EntitiesILPostProcessor.cs:231
    at Unity.Entities.CodeGen.EntitiesILPostProcessors.Process (Unity.CompilationPipeline.Common.ILPostProcessing.ICompiledAssembly compiledAssembly) [0x0004b] in /Users/myuser/Work/MyGame/Library/PackageCache/com.unity.entities@0.6.0-preview.24/Unity.Entities.CodeGen/EntitiesILPostProcessor.cs:44
    at UnityEditor.Scripting.ScriptCompilation.ILPostProcessing.RunILPostProcessors (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly assembly, System.String outputTempPath) [0x0011b] in /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/ILPostProcessing.cs:209
    at UnityEditor.Scripting.ScriptCompilation.ILPostProcessing.PostProcess (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly assembly, System.Collections.Generic.List`1[T] messages, System.String outputTempPath) [0x00061] in /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/ILPostProcessing.cs:99


    I'm trying to install Entities package, but this error is appearing, I've been searching for a solution in forums, but cannot find some other similar case.

    I've tried with the latest version of the package (0.6.0), and also tried with 0.5.1 and 0.5.0, but error is the same.

    I'm using Unity 2019.3.2, on macOS 10.15.3 (if that is any use)
     
  2. bearcoree

    bearcoree

    Joined:
    Mar 8, 2016
    Posts:
    72
    I've got almost the same issue in Unity 2019.3.0f6 on Windows 10.

    My stacktrace is a bit different towards the bottom though:

    Something went wrong while Post Processing the assembly (Assembly-CSharp.dll) :
    Object reference not set to an instance of an object
    at Unity.Entities.CodeGen.TypeDefinitionExtensions.IsComponentSystem (Mono.Cecil.TypeDefinition arg) [0x00001] in H:\Asuna2\Asuna2\Library\PackageCache\com.unity.entities@0.6.0-preview.24\Unity.Entities.CodeGen\CecilExtensionMethods.cs:200
    at Unity.Entities.CodeGen.TypeDefinitionExtensions.IsComponentSystem (Mono.Cecil.TypeDefinition arg) [0x000a2] in H:\Asuna2\Asuna2\Library\PackageCache\com.unity.entities@0.6.0-preview.24\Unity.Entities.CodeGen\CecilExtensionMethods.cs:214
    at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () [0x0001d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
    at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
    at Unity.Entities.CodeGen.LambdaJobsPostProcessor.PostProcessImpl () [0x00001] in H:\Asuna2\Asuna2\Library\PackageCache\com.unity.entities@0.6.0-preview.24\Unity.Entities.CodeGen\LambdaJobs\LambdaJobsPostProcessor.cs:177
    at Unity.Entities.CodeGen.EntitiesILPostProcessor.PostProcess (Mono.Cecil.AssemblyDefinition assemblyDefinition, System.Boolean& madeAChange) [0x00009] in H:\Asuna2\Asuna2\Library\PackageCache\com.unity.entities@0.6.0-preview.24\Unity.Entities.CodeGen\EntitiesILPostProcessor.cs:231
    at Unity.Entities.CodeGen.EntitiesILPostProcessors.Process (Unity.CompilationPipeline.Common.ILPostProcessing.ICompiledAssembly compiledAssembly) [0x0004b] in H:\Asuna2\Asuna2\Library\PackageCache\com.unity.entities@0.6.0-preview.24\Unity.Entities.CodeGen\EntitiesILPostProcessor.cs:44
    at UnityEditor.Scripting.ScriptCompilation.ILPostProcessing.RunILPostProcessors (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly assembly, System.String outputTempPath) [0x0011b] in <6f28216fea9f453abf2e05b770ed3ee4>:0
    at UnityEditor.Scripting.ScriptCompilation.ILPostProcessing.PostProcess (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly assembly, System.Collections.Generic.List`1[T] messages, System.String outputTempPath) [0x00061] in <6f28216fea9f453abf2e05b770ed3ee4>:0
     
  3. LuisEGV

    LuisEGV

    Joined:
    Jul 21, 2015
    Posts:
    36
    This is not a proper solution, but I realized that a json newtonsoft dll was clashing with the package installed by the package manager. The problem is that nowhere this is stated, so it becomes nearly imposible to detect. what I did was

    - Remove Entities package
    - Remove my json newtonsoft dll
    - Close editor
    - Install Newtonsoft Json by adding the proper line into the Project/Packages/manifest.json
    - Open editor, and update NewtonSoft Json package
    - Install Entities.

    I did this 2 days ago, and I've had no problem.

    You should check whether your problem is similar.
     
    Last edited: Feb 28, 2020
  4. bearcoree

    bearcoree

    Joined:
    Mar 8, 2016
    Posts:
    72
    Thanks so much!
    You were absolutely right, the issue was that our project had the newtonsoftJson.dll. I ended up fixing the issue by deleting the dll from our project files and putting this line into the Project/Packages/manifest.josn:

    "com.unity.nuget.newtonsoft-json": "2.0.0-preview"

    I'm assuming the real issue, is that the entities package now uses newtonsoftJson.dll itself, causing an issue with us having it in our project. Unity seems to be supporting newtonsoftJson as seen here: https://docs.unity3d.com/Packages/com.unity.nuget.newtonsoft-json@2.0/changelog/CHANGELOG.html. By importing newtonsoftJson via the manifest aka. the package manager, it seems to work fine.

    Thanks again for your insight, you made my day!
     
    LuisEGV likes this.