【发布时间】:2010-02-17 10:35:12
【问题描述】:
我尝试使用 .NET 4.0 RC 编译依赖于 Log4Net 日志框架的项目,但遇到了一些问题。
开箱即用(只需将目标更改为 .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 的编写方式或其他有关吗?
【问题讨论】: