So is it possible?
Yes, it is.
There, that was a short blog entry wasn’t it?
I’ve patched RavenDB in a few places, both to workaround the bug/mismatch between Mono and Microsoft’s implementation of ThreadLocal.Value, dealing with the standard path-based issues and adding a couple of specific checks for Mono in the outer layers of the application (Did you know that Environment.UserInteractive is always false in Mono?)
I’ve submitted the pull request, but if you really want to get RavenDB working on Mono right now, then I suggest you do the following:
MONO_IOMAP=all xbuild /property:DocumentationFile='' /property:TreatWarningsAsErrors='false' RavenDB.sln
I’ve tested the following configurations
Some caveats to this
NB: This is unofficial support for Mono, it's a low priority as far as the core project goes, but I am eager to make this work
Thanks and Attribution:
Jérémie Laval (http://twitter.com/#!/jeremie_laval) has been instrumental in moving this forwards with a heap of Mono know-how, the instructions on now to build on Mono have come from him, as have a number of fixes. He is currently working on some other issues with some failing tests too, looks like this ball is going to keep rolling!
2020 © Rob Ashton. ALL Rights Reserved.