Hi.

The client profile has been around since .NET 3.5.  The 3.5 profile
allowed for a much smaller download for XP users.  Now, with the
advent of .NET 4, the client profile has become a first class citizen
of the .NET world.  The .NET 4 client profile is the only version
of .NET being distributed automatically through Windows Update.  As
well, many project types in Visual Studio now automatically target the
client profile.  With such significant factors in place, I feel it is
quite important that NHibernate make the few changes needed to support
the client profile.

I'm happy to contribute anything needed to make this happen.  If I
remember correctly, there are three main areas of incompatibility.

1.  System.Data.OracleClient
2.  System.Web
3.  log4net

I've already converted the Oracle driver to a reflection based driver,
being a simple change.  However, there's additional Oracle code in the
form of the OracleClientCommandSet.  Can anyone shed some light on the
command set classes?  I don't see anywhere that any interfaces or base
classes (or anything really) is used.  Additionally, I can't even see
anything in Google pertaining to these classes.  Are they dead code?

My proposal for System.Web is to separate the web components into an
NHibernate.Web assembly.  The main assembly would still handle web-
type configs by loading NHibernate.Web through reflection.  The only
change people would need to make is to reference NHibernate.Web if
they make use of the provided web classes.

For log4net, I propose that the work in NH-1554 be integrated.  It
seems like a good idea anyways, since people have different logging
platform needs.

Appreciate your thoughts.  Looking forward to getting this important
change in place.

        Patrick Earl

Reply via email to