.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
