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
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
net45 SQLitePCLRaw.core.dll into <your-project>/Jenny/.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!
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
net45SQLitePCLRaw.core.dllinto<your-project>/Jenny/.