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.

posted @ 2012-10-30 19:29  *凉风习习*  阅读(846)  评论(0编辑  收藏  举报