We recently released an updated version of InMemory.Net that runs on Mac OS C and Linux.
Using the latest version of Mono , we were able to get InMemory.Net up on these platforms. Currently we provide a zip of the relevant InMemory.Net files that can be extracted. The relevant InMemory.Net programs can then be run by prefixing mono before the name of the executable. So irdbImport.exe becomes mono irdbImport.exe as an example. We use mono-service to run the server part.
The porting was relatively straight forward. The only real change we had to make to our code was to make sure our path separators were platform agnostic. Older version of InMemory.Net would have hardcoded “\” as the path separator. Mac OS X and Linux use “/” as the path separator. The following Dot Net property Path.DirectorySeparatorChar can be used to provide a separator in a platform independent way.