Mar 23, 2009

Db4o with Visual Studio 10 / .Net Framework 4


When Microsoft announced they would make available VS 2010 CTP I got curious about how easy (or hard) it would be to compile / run Db4o and also how OMN would behave in this early CTP (would it just work, without even require a recompilation? If not, how easy/hard it would be to make it work if possible at all, etc).

Well, yesterday I managed to download the CTP; after extracting the files (24 Gb!!) I just took OMN 2008 installation and give it a try. It was really amazing. The only change I've applied was to update the file %ALLUSERSPROFILE%\Application Data\Microsoft\MSEnvShared\Addins\OMAddin.addin in order to change the target VS (OMN 2008 will set it to 9.0 but VS 2010 is 10.0). 

After this change I just fired up VS and OMN addin was there, working with no issues (as far as I tested :)) as you can see in the screen shot bellow. Cool.

Next step was to load Db4o 2008 solution file; VS 2010 asked whenever I'd like to convert the solution/project files to the newer version; I just consent to that and when it finished converting I just run Db4o Tests. 

This time some tests failed due to missing jars (I didn't run a full build) required to run Java/.Net compatibility tests; besides that expected failure,  only one test failed (I just disabled it for now).

My next steps will be:

  1. Try to understand / fix the falling test.
  2. Prepare the environment to at least run the target "build-before-checkin"  defined in build.xml (and uncomment any test commented out to make the tests pass).

  3. Reason whenever it makes sense to use some of C# 4.0 / .Net Framework 4.0 new features (for instance dynamic types) and how Db4o handle them.
Since these will require more time to investigate / test I'll leave them for a forthcoming post.



German Viscuso said...

Awesome! I think I'm going to blog about this on

Anonymous said...

Hi - this does not seem to work with RC1 of VS2010 for me - OME's toolbar does not have any buttons

Vagaus said...

Thanks for reporting.

Unfortunately I don't have RC1 installed.

I'll install it latter and give it a try.