Log4Net error: Inheritance security rules violated while overriding member: 'log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData.....

环境:

window 7 enterprise

Visual Studio 2010

.NET framework 4

Log4Net 1.2.11

问题:

给Log4Net加上Key后,就报错:

Inheritance security rules violated  while overriding member:  'log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,  System.Runtime.Serialization.StreamingContext)'.  Security accessibility of the  overriding method must match the  security accessibility of the method  being。。。

解决办法:

给Log4Net加上: [assembly:System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]

原因:

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.

原文地址:https://www.cnblogs.com/stevenawake/p/2746904.html