Я попытался скомпилировать проект, зависящий от структуры ведения журнала Log4Net, с помощью .NET 4.0 RC и столкнулся с некоторыми проблемами.
Из коробки (просто изменив цель на .NET 4.0), она больше не работает, генерируется исключение безопасности.
Нарушение правил безопасности наследования в то время как переопределяющий член: "Log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext). Обеспечение доступности метод переопределения должен соответствовать безопасность доступа к методу будучи
Это было разрешено добавлением следующей строки в сборку log4net (в AssemblyInfo.cs):
[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]
Может кто-нибудь объяснить, почему это требуется, и есть ли альтернативы для этого? Связано ли это с тем, как записывается Log4Net или что-то еще?