News, examples, tips, ideas and plans.
Thoughts around ORM, .NET and SQL databases.

Saturday, May 15, 2010

DataObjects.Net v4.3 RC1 with Visual Studio 2010 and .NET 4.0 support is available

DataObjects.Net v4.3 Release Candidate 1 installer was uploaded to Downloads Area today. We're going to gather feedback about this build during the next week and publish v4.3 final a bit later.

This release passes the same set of tests as v4.2; moreover, it already contains all the changes made to v4.2 till this moment, so it should be nearly as stable as its predecessor, although we don't recommend using it in production environment.

What's new:
  • .NET 4.0 and Visual Studio 2010 support.
  • v4.3 uses PostSharp 2.0 instead of PostSharp 1.0 - by my impression, assembly post-processing performance is nearly 2 times faster now.
  • Xtensive.Core contains new Tuples engine that relies on generics instead of generation of Tuple and TupleDescriptor classes with System.Reflection.Emit. This significantly affects on application startup time: although code generation was happening just once for each type, this process was pretty costly.
  • Domain.Build(...) also works nearly twice faster - partially, because of today's fixes (btw, they're available in v4.2 branch as well), and partially - because of Tuple engine replacement. I know this is still not the best result we can reach here: a bit later we'll try to make this at least 20-30% more faster.
  • This build supports only .NET 4.0 and VS2010; .NET 3.5 version will be available on the next week.
  • You must uninstall old DO 4.X and old PostSharp (if you installed it);
  • This version will function for 60 days after the installation or till the end of July - which is earlier. During this period we'll migrate to full-featured licensing module.
  • There is no source code - only binaries.
  • This version contains only .chm help file (class reference, its online version is here): Sandcastle currently isn't capable of building help files in new help format introduced with VS2010.
  • We tested mainly SQL Server provider for it; test configurations for PostgreSQL and Oracle providers aren't established for this version on our build servers yet, so they can't be considered as stable.
To upgrade to this version from v4.2, you must:
  • Uninstall old v4.2 and install v4.3;
  • Upgrade your projects to VS.NET 2010;
  • Remove references to PostSharp.Public.dll and PostSharp.Laos.dll from your project and add reference to PostSharp.dll from "Lib" folder;
  • Remove [Persistent(...)] attribute from your AssemblyInfo.cs files and reference to its namespace (Xtensive.Storage.Aspects);
  • Probably, add "using Xtensive.Core;" to some of your files - we moved classes from old "System" namespace to this one;
  • Likely, it will be necessary to make other minor fixes. Please notify us, if you'll find another typical case.
Good luck trying DataObjects.Net v4!


  1. It may seem obvious, but don't forget to change your project to target .NET 4