Permit NakedObjects.Types and .Helpers to be installed into .NET 3.5


NakedObjects.Types was moved up to .NET 4.0 to accommodate the new IAsynchService. Hence NakedObjects.Helpers (which depends on Types) has also moved up. NakedObjects.Attributes was deliberately kept at 3.5 for the benefit of those running domain projects at 3.5.

However, a need has arisen, in such a case, to be able to reference some interfaces in NakedObjects.Types, in particular IHasIntegerId, which is used by the PolymorphicNavigator.

The ideal would in fact be to allow the ProgrammingModel package to install into either a .NET 3.5 or a .NET 4.0 project, but install different versions of the NakedObjects.Type and NakedObjects.Helpers assemblies in each case. This would allow the 3.5 model projects to compile. The Run project(s) (e.g. Mvc or RO) would have to be .NET 4.0 as now - and that would mean that it is the .NET 4.0 versions of the assemblies that would be loaded in memory.

(We need to spike this, but think that it could work).
Closed Mar 21, 2014 at 3:30 PM by RichardPawson


scascarini wrote Jan 21, 2014 at 9:13 AM

Programming model now has conditional compile for 3.5 and 4.0 - excluding IAsyncService in 3.5.

dlls are placed into net35 and net40 directories within the package and nuget handles the reference paths when adding to a 3.5 or 4.0 project.