J'ai essayé de compiler un projet dépend de la Log4Net de journalisation à l'aide .NET 4.0 RC et a rencontré quelques problèmes.
Hors de la boîte (en changeant simplement la cible .NET 4.0), il ne fonctionne plus, une sécurité exception est levée.
L'héritage des règles de sécurité violé tout en substituant membre: 'log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo, Système.Moment de l'exécution.La sérialisation.StreamingContext)'. La sécurité et l'accessibilité de la méthode de remplacement doit correspondre à la la sécurité et l'accessibilité de la méthode être
Ceci a été résolu en ajoutant la ligne suivante à la log4net assemblée(en AssemblyInfo.cs):
[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]
Quelqu'un peut m'expliquer pourquoi cela est nécessaire et il y a des solutions de rechange à le faire de cette façon? Est-ce lié à la façon dont Log4Net est écrit ou quelque chose d'autre?