.net has support for declaring the version of an assembly but there does not
seem to be a standard scheme for declaring which framework the assembly is
built for, or at least which framework it was built on. This is our specific
situation:

Log4net is a general logging component. In previous releases it has simply
been called log4net.dll and is available in 3 build flavours, debug, release
and release strong. We have now added support for multiple .net frameworks
and we are using a different assembly name for each framework, e.g.

log4net-net-1.0.dll for the .NET 1.0 version
log4net-net-1.1.dll for the .NET 1.1 version
log4net-netcf-1.0.dll for the .NET Compact Framework 1.0 version
log4net-mono-0.23.dll for the Mono 0.23 version
log4net-sscli-1.0.dll for the SSCLI (rotor) 1.0 version

Each assembly is build from the same version of the source, but it is built
on a different framework using the native C# compiler. Each framework has
slightly different capabilities, but really it should work the same way on
each framework.

We're not really sure if this is a good decision. Of course, it does make it
very clear which "framework version" of log4net you're using, but on the
other hand you do have to worry about the assembly name.

Do you clever chaps have any thoughts about this?

Thanks,
Nicko

Reply via email to