gpt4 book ai didi

.net - Log4Net 和 .NET 4.0 RC

转载 作者:行者123 更新时间:2023-12-03 10:16:27 25 4
gpt4 key购买 nike

我尝试使用 .NET 4.0 RC 编译依赖于 Log4Net 日志记录框架的项目,但遇到了一些问题。

开箱即用(只是将目标更改为 .NET 4.0),它不再起作用,会引发安全异常。

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 程序集(在 AssemblyInfo.cs 中)添加以下行来解决的:
[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]

有人可以解释为什么需要这样做,是否有其他方法可以这样做?这与 Log4Net 的编写方式或其他方面有关吗?

最佳答案

这是必需的,因为 .NET 4.0 添加了 Level 2 Security-Transparent Code (这是新的默认设置)并取消了 Code Access Security . Level 1 Security-Transparent Code仍然存在兼容性,但正如您发现的那样,必须指定。

您是正确的,它与 Log4Net 的编写方式有关。
除了更新 Log4Net 代码 - 或切换到不同的日志记录解决方案之外,您发现的解决方案确实别无选择:)

关于.net - Log4Net 和 .NET 4.0 RC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com