Hi, I've pushed a number of preparatory commits over the last weeks that facilitates support for .Net 4. Now I've just pushed two branches containing the bigger changes to use sets from the BCL.
I'll be mostly away from the computer for seven weeks so I can't work anymore on this right now. If anyone wants to pick it up, please go ahead, otherwise I'll keep working on it later on. remove-iset Removes last use of and support for non-generic ISet in mapped classes. I think this is in a rather good shape, all tests pass, and should be ready for merging. I haven't done that yet as it is of course a big breaking change - this would be the final decision on whether master is planned for 3.4.0 or 4.0.0. (This is issue Nh-3165). net4-1 Based on the above branch. Updates PersistentGenericSet to handle BCL ISet<T>, adds .Net 4 security attributes, makes default build be for .Net 4 and removes reference to Iesi.Collections. My goal at this point have been to retain the ability to build on .Net 3.5 (at least for NH4.0). This is done by use of conditional compilations in strategic places, and by exposing the BCL set classes under the Iesi names when building for .Net 4. This last part keeps the required changes to the NHibernate code located to a few files, and avoids sprinkling conditional compilation flags everywhere. I'm not sure if we need to bother with 3.5 compatibility for NH 4.0, but so far it seems doable. What do you think of this strategy? The state of this branch is that it builds. 6 tests fail. NH-3164 tracks this. /Oskar
