Our current policy is to build a separate binary for each platform and version, so we have a number of #ifdefs which switch functionality for the different platforms and versions. We try to keep the number of special cases like this in the code to a minimum and so far have no added platform specific features to the core of log4net (although some appenders are platform specific). In addition to the platform and version specific builds there is a CLR build which is built using the MS .NET 1.0 compiler and designed to work on all ECMA CLR 1.0 compliant runtimes.
The Compact Framework is also supported through #ifdefs, however as this platform is not compliant with the ECMA CLR 1.0 specification there are a few log4net features that are removed for NETCF. The .NET 2.0 platform has deprecated a number of APIs replacing them with .NET 2.0 only APIs. I think it will be difficult to utilise the full range of enhancements in the .NET 2.0 platform while retaining a good backwards compatibility story. For example I don't think it will be easy for us to switch over to conditionally using generic collections. This policy of a build per platform per version does lead to a confusing plethora of different log4net assemblies. (and a rather large download). This is something that we should review for the next major version of log4net. Your opinions and experience on this would be greatly appreciated. Cheers, Nicko > -----Original Message----- > From: Scott Hanselman [mailto:[EMAIL PROTECTED] > Sent: 14 November 2005 09:09 > To: Log4NET Dev; [email protected] > Subject: RE: .NET 2.0 patches > > Interesting. Out of curisousity, what kinds of problems? > Would not the ideal goal be to target the least common > denomenator (rather than #ifdefs) and have a single binary > work on .NET 1.1 and 2.0? What's log4net's goal as far as the > ratio of binaries to platforms? > > Scott Hanselman > http://www.computerzen.com > > ________________________________ > > From: Jim Rosenfeld [mailto:[EMAIL PROTECTED] > Sent: Sun 11/13/2005 10:06 PM > To: [email protected] > Subject: .NET 2.0 patches > > > Greetings, > > I've been using log4net for a little while now and it's > really a great tool to have in the toolbox. Naturally, when > I obtained my copy of Visual Studio 2005, I wanted to see how > log4net would compile in the release version of the 2.0 > framework. I was able to compile it successfully, but with a > number of warnings for deprecated methods, etc. So I went > through all of the (non-XML doc) warnings and added > conditional compilation statements (#if (NET_2_0)) with fixes > for the various issues the compiler reported. > > I probably should have looked into contributing more first > and applied changes to the current svn version of the code, > but at least I've run through the process once. I did a > quick search through the dev mailing list archives and I > didn't see anything related to an effort to update the code > for .NET 2.0 (besides a recent checkin for one 2.0 related > warning), so I wanted to see if anyone else already has this > in the works somewhere, and if not, if I should submit > patches for the fixes (which, in the interim, I'll probably > start applying to the svn branch). > > James > > -- > James Rosenfeld > [EMAIL PROTECTED] > > iv.ix >
