Entitas-csharp: Jenny can no longer generate since OS .NET updates

Created on 15 Oct 2018  ยท  17Comments  ยท  Source: sschmid/Entitas-CSharp

Hi,

After some OS updates I have started getting errors when trying to generate using Jenny. Last week I was able to generate without issues. As of today I get an error. I tried checking out older git commits, a newer Unity, and fresh project... but I still get the same issue.

It seems to be the same error as #797. But in my case it started happening to my existing project, not just with a new project. It seems like an SQLite library used by Roslyn has been updated and has errors or incorrect dependencies?

System

Ubuntu 18.04.1
Mono JIT compiler version 5.16.0.179 (tarball Thu Oct  4 10:20:38 UTC 2018)
Entitas 1.8.2
Unity 2018.2.2f1 (main project), Unity 2018.7.1f1 (new test project)

Error when running Jenny gen

~/UnityProjects/Unity-2018.2.7f1-testing $ mono Jenny/Jenny.exe gen
Generating using /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny.properties
Could not set up field 'Statement' due to: Could not load type of field 'Microsoft.CodeAnalysis.SQLite.Interop.SqlStatement:_rawStatement' (1) due to: Could not load file or assembly 'SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies. assembly:/home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/Plugins/Entitas.Roslyn/Microsoft.CodeAnalysis.Workspaces.Desktop.dll type:SqlStatement member:(null)

A new Jenny created, auto import Jenny.properties

~/UnityProjects/Unity-2018.2.7f1-testing $ cat Jenny.properties 
Jenny.Ignore.Keys = Preferences.Entitas, \
                    Entitas.VisualDebugging.Unity.Editor.SystemWarningThreshold, \
                    Entitas.VisualDebugging.Unity.Editor.DefaultInstanceCreatorFolderPath, \
                    Entitas.VisualDebugging.Unity.Editor.TypeDrawerFolderPath

Jenny.SearchPaths = Assets/DesperateDevs/Editor/Plugins, \
                    Assets/Entitas/Editor/Plugins, \
                    Jenny/Plugins/Entitas.Roslyn

Jenny.Plugins = DesperateDevs.CodeGeneration.Plugins, \
                DesperateDevs.CodeGeneration.Unity.Plugins, \
                Entitas.CodeGeneration.Plugins, \
                Entitas.Roslyn.CodeGeneration.Plugins, \
                Entitas.VisualDebugging.CodeGeneration.Plugins

Jenny.PreProcessors = DesperateDevs.CodeGeneration.Plugins.ValidateProjectPathPreProcessor, \
                      DesperateDevs.CodeGeneration.Plugins.TargetFrameworkProfilePreProcessor

Jenny.DataProviders = Entitas.CodeGeneration.Plugins.ContextDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.CleanupDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.ComponentDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.EntityIndexDataProvider

Jenny.CodeGenerators = Entitas.CodeGeneration.Plugins.ComponentContextApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentEntityApiInterfaceGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentLookupGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextAttributeGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextMatcherGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextsGenerator, \
                       Entitas.CodeGeneration.Plugins.EntityGenerator, \
                       Entitas.CodeGeneration.Plugins.EntityIndexGenerator, \
                       Entitas.CodeGeneration.Plugins.EventEntityApiGenerator, \
                       Entitas.CodeGeneration.Plugins.EventListenerComponentGenerator, \
                       Entitas.CodeGeneration.Plugins.EventListenertInterfaceGenerator, \
                       Entitas.CodeGeneration.Plugins.EventSystemGenerator, \
                       Entitas.CodeGeneration.Plugins.EventSystemsGenerator, \
                       Entitas.Roslyn.CodeGeneration.Plugins.CleanupSystemGenerator, \
                       Entitas.Roslyn.CodeGeneration.Plugins.CleanupSystemsGenerator, \
                       Entitas.VisualDebugging.CodeGeneration.Plugins.ContextObserverGenerator, \
                       Entitas.VisualDebugging.CodeGeneration.Plugins.FeatureClassGenerator

Jenny.PostProcessors = DesperateDevs.CodeGeneration.Plugins.AddFileHeaderPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.CleanTargetDirectoryPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.MergeFilesPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.NewLinePostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.UpdateCSProjPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.WriteToDiskPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.ConsoleWriteLinePostProcessor

Jenny.Server.Port = 3333
Jenny.Client.Host = localhost
DesperateDevs.CodeGeneration.Plugins.ProjectPath = Assembly-CSharp.csproj
Entitas.CodeGeneration.Plugins.Contexts = Game, \
                                          Input

Entitas.CodeGeneration.Plugins.IgnoreNamespaces = false
DesperateDevs.CodeGeneration.Plugins.TargetDirectory = Assets/Sources
Preferences.Entitas = Entitas.Unity.Editor.EntitasPreferencesDrawer, \
                      DesperateDevs.CodeGeneration.CodeGenerator.Unity.Editor.CodeGeneratorPreferencesDrawer, \
                      Entitas.VisualDebugging.Unity.Editor.VisualDebuggingPreferencesDrawer

Entitas.VisualDebugging.Unity.Editor.SystemWarningThreshold = 5
Entitas.VisualDebugging.Unity.Editor.DefaultInstanceCreatorFolderPath = Assets/Editor/DefaultInstanceCreator
Entitas.VisualDebugging.Unity.Editor.TypeDrawerFolderPath = Assets/Editor/TypeDrawer

Running Jenny doctor -v

~/UnityProjects/Unity-2018.2.7f1-testing $ mono Jenny/Jenny.exe doctor -v
Loading assemblies from /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Analytics.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Analytics.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.CLI.Utils.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.CLI.Utils.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.CodeGeneration.CodeGenerator.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.CodeGeneration.CodeGenerator.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.CodeGeneration.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.CodeGeneration.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Logging.Formatters.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Logging.Formatters.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Logging.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Logging.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Networking.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Networking.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Serialization.CLI.Utils.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Serialization.CLI.Utils.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Serialization.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Serialization.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Utils.dll
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/DesperateDevs.Utils.dll
Jenny.exe load: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/Jenny.exe
  โžœ Loading: /home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/Jenny.exe
Jenny.Ignore.Keys = Preferences.Entitas, \
                    Entitas.VisualDebugging.Unity.Editor.SystemWarningThreshold, \
                    Entitas.VisualDebugging.Unity.Editor.DefaultInstanceCreatorFolderPath, \
                    Entitas.VisualDebugging.Unity.Editor.TypeDrawerFolderPath

Jenny.SearchPaths = Assets/DesperateDevs/Editor/Plugins, \
                    Assets/Entitas/Editor/Plugins, \
                    Jenny/Plugins/Entitas.Roslyn

Jenny.Plugins = DesperateDevs.CodeGeneration.Plugins, \
                DesperateDevs.CodeGeneration.Unity.Plugins, \
                Entitas.CodeGeneration.Plugins, \
                Entitas.Roslyn.CodeGeneration.Plugins, \
                Entitas.VisualDebugging.CodeGeneration.Plugins

Jenny.PreProcessors = DesperateDevs.CodeGeneration.Plugins.ValidateProjectPathPreProcessor, \
                      DesperateDevs.CodeGeneration.Plugins.TargetFrameworkProfilePreProcessor

Jenny.DataProviders = Entitas.CodeGeneration.Plugins.ContextDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.CleanupDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.ComponentDataProvider, \
                      Entitas.Roslyn.CodeGeneration.Plugins.EntityIndexDataProvider

Jenny.CodeGenerators = Entitas.CodeGeneration.Plugins.ComponentContextApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentEntityApiInterfaceGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentLookupGenerator, \
                       Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextAttributeGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextMatcherGenerator, \
                       Entitas.CodeGeneration.Plugins.ContextsGenerator, \
                       Entitas.CodeGeneration.Plugins.EntityGenerator, \
                       Entitas.CodeGeneration.Plugins.EntityIndexGenerator, \
                       Entitas.CodeGeneration.Plugins.EventEntityApiGenerator, \
                       Entitas.CodeGeneration.Plugins.EventListenerComponentGenerator, \
                       Entitas.CodeGeneration.Plugins.EventListenertInterfaceGenerator, \
                       Entitas.CodeGeneration.Plugins.EventSystemGenerator, \
                       Entitas.CodeGeneration.Plugins.EventSystemsGenerator, \
                       Entitas.Roslyn.CodeGeneration.Plugins.CleanupSystemGenerator, \
                       Entitas.Roslyn.CodeGeneration.Plugins.CleanupSystemsGenerator, \
                       Entitas.VisualDebugging.CodeGeneration.Plugins.ContextObserverGenerator, \
                       Entitas.VisualDebugging.CodeGeneration.Plugins.FeatureClassGenerator

Jenny.PostProcessors = DesperateDevs.CodeGeneration.Plugins.AddFileHeaderPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.CleanTargetDirectoryPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.MergeFilesPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.NewLinePostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.UpdateCSProjPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.WriteToDiskPostProcessor, \
                       DesperateDevs.CodeGeneration.Plugins.ConsoleWriteLinePostProcessor

Jenny.Server.Port = 3333
Jenny.Client.Host = localhost
DesperateDevs.CodeGeneration.Plugins.ProjectPath = Assembly-CSharp.csproj
Entitas.CodeGeneration.Plugins.Contexts = Game, \
                                          Input

Entitas.CodeGeneration.Plugins.IgnoreNamespaces = false
DesperateDevs.CodeGeneration.Plugins.TargetDirectory = Assets/Sources
Preferences.Entitas = Entitas.Unity.Editor.EntitasPreferencesDrawer, \
                      DesperateDevs.CodeGeneration.CodeGenerator.Unity.Editor.CodeGeneratorPreferencesDrawer, \
                      Entitas.VisualDebugging.Unity.Editor.VisualDebuggingPreferencesDrawer

Entitas.VisualDebugging.Unity.Editor.SystemWarningThreshold = 5
Entitas.VisualDebugging.Unity.Editor.DefaultInstanceCreatorFolderPath = Assets/Editor/DefaultInstanceCreator
Entitas.VisualDebugging.Unity.Editor.TypeDrawerFolderPath = Assets/Editor/TypeDrawer

Jenny.exe load: DesperateDevs.CodeGeneration.Plugins
  โžœ Loading: DesperateDevs.CodeGeneration.Plugins
    โžœ Resolved: Assets/DesperateDevs/Editor/Plugins/DesperateDevs.CodeGeneration.Plugins.dll
Jenny.exe load: DesperateDevs.CodeGeneration.Unity.Plugins
  โžœ Loading: DesperateDevs.CodeGeneration.Unity.Plugins
    โžœ Resolved: Assets/DesperateDevs/Editor/Plugins/DesperateDevs.CodeGeneration.Unity.Plugins.dll
Jenny.exe load: Entitas.CodeGeneration.Plugins
  โžœ Loading: Entitas.CodeGeneration.Plugins
    โžœ Resolved: Assets/Entitas/Editor/Plugins/Entitas.CodeGeneration.Plugins.dll
Jenny.exe load: Entitas.Roslyn.CodeGeneration.Plugins
  โžœ Loading: Entitas.Roslyn.CodeGeneration.Plugins
    โžœ Resolved: Jenny/Plugins/Entitas.Roslyn/Entitas.Roslyn.CodeGeneration.Plugins.dll
Jenny.exe load: Entitas.VisualDebugging.CodeGeneration.Plugins
  โžœ Loading: Entitas.VisualDebugging.CodeGeneration.Plugins
    โžœ Resolved: Assets/Entitas/Editor/Plugins/Entitas.VisualDebugging.CodeGeneration.Plugins.dll
โ„น๏ธ  Available: DesperateDevs.CodeGeneration.Unity.Plugins.WarnIfCompilationErrorsPreProcessor
โ„น๏ธ  Available: Entitas.CodeGeneration.Plugins.ComponentDataProvider
โ„น๏ธ  Available: Entitas.CodeGeneration.Plugins.EntityIndexDataProvider
โ„น๏ธ  Available: DesperateDevs.CodeGeneration.Unity.Plugins.DebugLogPostProcessor
Dry Run
Jenny.exe load: DesperateDevs.CodeGeneration.Plugins
  โžœ Loading: DesperateDevs.CodeGeneration.Plugins
    โžœ Resolved: Assets/DesperateDevs/Editor/Plugins/DesperateDevs.CodeGeneration.Plugins.dll
Jenny.exe load: DesperateDevs.CodeGeneration.Unity.Plugins
  โžœ Loading: DesperateDevs.CodeGeneration.Unity.Plugins
    โžœ Resolved: Assets/DesperateDevs/Editor/Plugins/DesperateDevs.CodeGeneration.Unity.Plugins.dll
Jenny.exe load: Entitas.CodeGeneration.Plugins
  โžœ Loading: Entitas.CodeGeneration.Plugins
    โžœ Resolved: Assets/Entitas/Editor/Plugins/Entitas.CodeGeneration.Plugins.dll
Jenny.exe load: Entitas.Roslyn.CodeGeneration.Plugins
  โžœ Loading: Entitas.Roslyn.CodeGeneration.Plugins
    โžœ Resolved: Jenny/Plugins/Entitas.Roslyn/Entitas.Roslyn.CodeGeneration.Plugins.dll
Jenny.exe load: Entitas.VisualDebugging.CodeGeneration.Plugins
  โžœ Loading: Entitas.VisualDebugging.CodeGeneration.Plugins
    โžœ Resolved: Assets/Entitas/Editor/Plugins/Entitas.VisualDebugging.CodeGeneration.Plugins.dll
Opening Assembly-CSharp.csproj
  โžœ Loading Dependency: Microsoft.CodeAnalysis.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.CSharp.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.CSharp.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.VisualBasic.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.VisualBasic.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535
  โžœ Loading Dependency: SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535
System.TypeLoadException: Could not set up field 'Statement' due to: Could not load type of field 'Microsoft.CodeAnalysis.SQLite.Interop.SqlStatement:_rawStatement' (1) due to: Could not load file or assembly 'SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies. assembly:/home/kevin/UnityProjects/Unity-2018.2.7f1-testing/Jenny/Plugins/Entitas.Roslyn/Microsoft.CodeAnalysis.Workspaces.Desktop.dll type:SqlStatement member:(null)
  at (wrapper managed-to-native) System.RuntimeTypeHandle.is_subclass_of(intptr,intptr)
  at System.RuntimeType.IsSubclassOf (System.Type type) <0x7f4cda9651d0 + 0x0003e> in <3833a6edf2074b959d3dab898627f0ac>:0 
  at System.RuntimeType.IsValueTypeImpl () <0x7f4cda961450 + 0x00020> in <3833a6edf2074b959d3dab898627f0ac>:0 
  at System.Type.get_IsClass () <0x7f4cda976f70 + 0x00021> in <3833a6edf2074b959d3dab898627f0ac>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x0000b] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.Create (System.Collections.Generic.IEnumerable`1[T] assemblies) [0x0001e] in <a4b6e470f95047fb822f681582b0e302>:0 
  at Microsoft.CodeAnalysis.Host.Mef.DesktopMefHostServices.get_DefaultServices () [0x00011] in <1644e7370de141eca00406e57c629f50>:0 
  at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create (System.Collections.Generic.IDictionary`2[TKey,TValue] properties) [0x00000] in <1644e7370de141eca00406e57c629f50>:0 
  at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create () [0x00000] in <1644e7370de141eca00406e57c629f50>:0 
  at DesperateDevs.Roslyn.ProjectParser..ctor (System.String projectPath) [0x0001b] in <b590fa441c8344e8bb2722e51c425b28>:0 
  at DesperateDevs.Roslyn.CodeGeneration.Plugins.PluginUtil.GetCachedProjectParser (System.Collections.Generic.Dictionary`2[TKey,TValue] objectCache, System.String projectPath) [0x0000f] in <a13d56fd143a49ceb960b6591f07351a>:0 
  at Entitas.Roslyn.CodeGeneration.Plugins.CleanupDataProvider.GetData () [0x00021] in <9b3d59da2f5047e98ce32419dc56e7c7>:0 
  at DesperateDevs.CodeGeneration.CodeGenerator.CodeGenerator.generate (System.String messagePrefix, DesperateDevs.CodeGeneration.IPreProcessor[] preProcessors, DesperateDevs.CodeGeneration.IDataProvider[] dataProviders, DesperateDevs.CodeGeneration.ICodeGenerator[] codeGenerators, DesperateDevs.CodeGeneration.IPostProcessor[] postProcessors) [0x00125] in <f4aeeb22e469410b9430bcbbbc55fc17>:0 
  at DesperateDevs.CodeGeneration.CodeGenerator.CodeGenerator.DryRun () [0x000c2] in <f4aeeb22e469410b9430bcbbbc55fc17>:0 
  at DesperateDevs.CodeGeneration.CodeGenerator.CLI.DoctorCommand.run () [0x00037] in <f4281e7008534af4a7b64d7bfa1438b4>:0 
  at DesperateDevs.CLI.Utils.AbstractCommand.Run (DesperateDevs.CLI.Utils.CLIProgram program, System.String[] args) [0x0001f] in <6f1644502be0452880cd4a5c4a6c102a>:0 
  at DesperateDevs.Serialization.CLI.Utils.AbstractPreferencesCommand.Run (DesperateDevs.CLI.Utils.CLIProgram program, System.String[] args) [0x000b7] in <9f0f6b628fda4b81b4841c3997c7b2fb>:0 
  at DesperateDevs.CLI.Utils.CLIProgram.runCommand (System.String[] args) [0x0000e] in <6f1644502be0452880cd4a5c4a6c102a>:0 

Cheers

Most helpful comment

I've found a work around for this dll issue that doesn't involve rolling back the mono version.
See here: github.com/dotnet/docfx/issues/3389

All 17 comments

Thanks for the detailed description.
Last week I tried updating to the latest roslyn version and got a similar error with Microsoft.CodeAnalysis.Workspaces.Desktop.dll

Currently not sure what's going on...

I wonder if this is related to the issue?
https://github.com/ericsink/SQLitePCL.raw/issues/228

Has this issue been resolved? I followed the instructions on this link and got the exact error shown here.

https://github.com/sschmid/Entitas-CSharp/wiki/Entitas-pure-C%23

Same problem here. Is there a known working mono version? At my workplace we've been toying with the idea of running Jenny in a bind mounted docker container so we can use a version of mono which is compatible with Jenny.

I had the same issue (on Arch linux) with mono-5.16.0.179-1-x86_64. I was able to get Jenny working again by downgrading to mono-5.14.0.177-1-x86_64.

I got a bunch of Mono/.NET updates for my Ubuntu system this weekend.

Mono JIT compiler version 5.16.0.220 (tarball Mon Nov 26 17:17:59 UTC 2018)

I now get a similar but slightly different error. I am still on the same Entitas version 1.8.2. I will update to latest Entitas and try it again soon.

~/UnityProjects/Unity-2018.2.7f1-testing $ mono Jenny/Jenny.exe doctor -v
---- (content here is the same as original post, error is below) ----
Opening Assembly-CSharp.csproj
  โžœ Loading Dependency: Microsoft.CodeAnalysis.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.CSharp.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.CSharp.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.VisualBasic.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: Microsoft.CodeAnalysis.VisualBasic.Features, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  โžœ Loading Dependency: SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535
  โžœ Loading Dependency: SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535
System.TypeLoadException: Could not load type of field 'Microsoft.CodeAnalysis.SQLite.Interop.SqlConnection:_handle' (0) due to: Could not load file or assembly 'SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies.
  at (wrapper managed-to-native) System.RuntimeType.GetPropertiesByName_native(System.RuntimeType,intptr,System.Reflection.BindingFlags,bool)
  at System.RuntimeType.GetPropertiesByName (System.String name, System.Reflection.BindingFlags bindingAttr, System.Boolean icase, System.RuntimeType reflectedType) [0x0001b] in <0f8aeac9d63d4b8aa575761bb4e65b79>:0 
  at System.RuntimeType.GetPropertyCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Type[] types, System.Boolean allowPrefixLookup) <0x7f0d3055f8d0 + 0x0007a> in <0f8aeac9d63d4b8aa575761bb4e65b79>:0 
  at System.RuntimeType.GetProperties (System.Reflection.BindingFlags bindingAttr) <0x7f0d30560050 + 0x0002c> in <0f8aeac9d63d4b8aa575761bb4e65b79>:0 
  at System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties (System.Type type) <0x7f0d306f8350 + 0x00019> in <0f8aeac9d63d4b8aa575761bb4e65b79>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverPropertyExports>d__7.MoveNext () [0x00030] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverExports>d__5.MoveNext () [0x000dc] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x00061] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.Create (System.Collections.Generic.IEnumerable`1[T] assemblies) [0x0001e] in <a4b6e470f95047fb822f681582b0e302>:0 
  at Microsoft.CodeAnalysis.Host.Mef.DesktopMefHostServices.get_DefaultServices () [0x00011] in <1644e7370de141eca00406e57c629f50>:0 
  at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create (System.Collections.Generic.IDictionary`2[TKey,TValue] properties) [0x00000] in <1644e7370de141eca00406e57c629f50>:0 
  at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create () [0x00000] in <1644e7370de141eca00406e57c629f50>:0 
  at DesperateDevs.Roslyn.ProjectParser..ctor (System.String projectPath) [0x0001b] in <b590fa441c8344e8bb2722e51c425b28>:0 
  at DesperateDevs.Roslyn.CodeGeneration.Plugins.PluginUtil.GetCachedProjectParser (System.Collections.Generic.Dictionary`2[TKey,TValue] objectCache, System.String projectPath) [0x0000f] in <a13d56fd143a49ceb960b6591f07351a>:0 
  at Entitas.Roslyn.CodeGeneration.Plugins.CleanupDataProvider.GetData () [0x00021] in <9b3d59da2f5047e98ce32419dc56e7c7>:0 
  at DesperateDevs.CodeGeneration.CodeGenerator.CodeGenerator.generate (System.String messagePrefix, DesperateDevs.CodeGeneration.IPreProcessor[] preProcessors, DesperateDevs.CodeGeneration.IDataProvider[] dataProviders, DesperateDevs.CodeGeneration.ICodeGenerator[] codeGenerators, DesperateDevs.CodeGeneration.IPostProcessor[] postProcessors) [0x00125] in <f4aeeb22e469410b9430bcbbbc55fc17>:0 
  at DesperateDevs.CodeGeneration.CodeGenerator.CodeGenerator.DryRun () [0x000c2] in <f4aeeb22e469410b9430bcbbbc55fc17>:0 
  at DesperateDevs.CodeGeneration.CodeGenerator.CLI.DoctorCommand.run () [0x00037] in <f4281e7008534af4a7b64d7bfa1438b4>:0 
  at DesperateDevs.CLI.Utils.AbstractCommand.Run (DesperateDevs.CLI.Utils.CLIProgram program, System.String[] args) [0x0001f] in <6f1644502be0452880cd4a5c4a6c102a>:0 
  at DesperateDevs.Serialization.CLI.Utils.AbstractPreferencesCommand.Run (DesperateDevs.CLI.Utils.CLIProgram program, System.String[] args) [0x000b7] in <9f0f6b628fda4b81b4841c3997c7b2fb>:0 
  at DesperateDevs.CLI.Utils.CLIProgram.runCommand (System.String[] args) [0x0000e] in <6f1644502be0452880cd4a5c4a6c102a>:0 

I had the same problem on my Mac with Mono 5.16. Downgrading to 5.14 worked for me as well.

Not quite sure what you mean with downgrading, I'm using brew install mono and the latest stable version is 5.14.0.177 and Jenny works with that version

ok, I see, a manual download is available at the mono website (5.16)
I recommend to install mono (and basically any tool) with homebrew

I originally had used homebrew to install mono, but when I installed Visual Studio for Mac it installed its own version automatically. As far as I remember using VS with 5.14 created huge cpu spikes and I was really glad when 5.16 arrived and fixed it for me. While I prefer working in VS Code the Unity debugging plugin is not working for me, so I had to use Visual Studio for that.

Also the new version of Visual Studio for Mac unable to open if not mono 5.16.
And we can't downgrade VS mac. I've tried.

I've found a work around for this dll issue that doesn't involve rolling back the mono version.
See here: github.com/dotnet/docfx/issues/3389

Awesome! Thanks for the heads up!

FYI, I had more Mono/.NET updates for my Ubuntu system this week. It is now on Mono 5.18.x.x up from 5.16.x.x

Mono JIT compiler version 5.18.0.225 (tarball Wed Jan  2 21:20:16 UTC 2019)

I checked Jenny without the manual override of SQLitePCLRaw.core.dll and it errors as it did previously. When keeping the DLL override in my project Jenny stays happy which keeps me happy ;)

For what its worth i'm still on Entitas 1.8.2 for a while. I will update to latest when i finish my game feature branch and post here.

Simon, if you want to close this you can. If it stays open I will keep updating it as things change for those interested. The only reason i haven't closed this yet is due to the "out of the box" experience of having Jenny error if using a newer/latest Mono.

I can confirm that @koden-km 's fix works with Mono 5.18.0.240 on Ubuntu 18.10, with Entitas 1.12.2.

Good news, the out of the box experience is working again!

I upgraded my project to latest Unity editor and Entitas, along with some more system updates for Mono, and now everything is working out of the box again. No need to manually add the SQLitePCLRaw.core.dll anymore.

I did a clean setup of Entitas+Jenny, removing all the old files and doing fresh import. I ran auto import, then doctor. Next I added my contexts back to the newly created Jenny.properties file and ran the Jenny generator and everything worked perfectly.

System

Ubuntu 18.04.2 LTS
Mono JIT compiler version 5.18.0.268 (tarball Thu Feb 28 15:24:08 UTC 2019)
Entitas 1.13.0 (asset store version)
Unity 2018.3.7f1

:+1:

Happy to hear that!
I addressed those issues in Entitas 1.13.0 and updated roslyn. I also found a better way to bundle msbuild. The next release will probably contain all the latest and greatest!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

xkyii picture xkyii  ยท  3Comments

CCludts picture CCludts  ยท  3Comments

Stals picture Stals  ยท  4Comments

angelotadres picture angelotadres  ยท  5Comments

JamesMcMahon picture JamesMcMahon  ยท  5Comments