I tried to compile a project dependent on the Log4Net logging framework using .NET 4.0 RC and ran into some problems.
Out of the box (just changing the target to .NE
This is required because .NET 4.0 added Level 2 Security-Transparent Code (which is the new default) and did away with Code Access Security. Level 1 Security-Transparent Code is still there for compatibility but, as you found, has to be specified.
You are correct that it is related to how Log4Net is written. There really is no alternative to the solution you found other than to update the Log4Net code - or switch to a different logging solution :)
This error is known as https://issues.apache.org/jira/browse/LOG4NET-347 and it seems to have been fixed.