Has anyone had any luck compiling a Geode .NET DLL that works on Windows 7? Following the BUILDING.md I can generate a DLL successfully that works on Windows 10, however if I take that same DLL to Windows 7 I get this error when the DLL is loaded (picture is attached):
"The instruction at 0x77a3ce4b referenced memory at 0x00000050. The memory could not be read." The actual exception is a System.AccessViolationException in mscorlib.dll. At this point the application does not proceed. I'm able to replicate it in something as simple as a console application which references the DLL and then tries to use some class from it (ie: CacheFactory f = new CacheFactory()) in the main method. In my sample application it doesn't specifically reference the memory instruction, just that: "Attempted to read or write protected memory. This is often an indication that other memory is corrupt". I've tried a number things already including but not limited to: 1. Recompiling the same DLL on the Windows 7 machine itself (following the same BUILDING.md instructions). 2. Installing VC++ 2015 redistributable (both x64 and x86 for good measure). I subsequently installed 2008, 2010, 2012, 2013 and 2017 redistributables as well. I've also included the VC++ runtime DLLs in various locations relevant to the application (just in case it wasn't picking up from System32) 3. Retargeting CMake to build using VS2013 and VS2017 generators instead of VS2015. VS2013 I couldn't get to compile, likely due to C++11 not being supported/fully supported. VS2017 had some issues with auto&& pointers, but I was at least able to get it to compile eventually. The same error occurs, though. When I put the DLL into Dependencies it's able to resolve all required DLLs. My testing machine is a vanilla Windows 7 SP1 installation with .NET 4.7.2 installed (started with 4.5.2 and gradually upgraded as I tested out various configurations). Any help or advice would be greatly appreciated. Thanks, Jeffrey Yankowski
