重写成员“log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingCo

简介: 在.NET 4.0下使用最新版本的log4Net 1.2.10,会遇到下面这样的错误: 重写成员“log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)”时违反了继承安全性规则。

 

在.NET 4.0下使用最新版本的log4Net 1.2.10,会遇到下面这样的错误:

重写成员“log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,

System.Runtime.Serialization.StreamingContext)”时违反了继承安全性规则。重写方法的安全可访问性必须与所重写方法的安全可访问性

匹配。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.TypeLoadException: 重写成员“log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData

(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)”时违反了继承安全性规则。重写

方法的安全可访问性必须与所重写方法的安全可访问性匹配。

源错误:


行 10:     public class CustomerController : Controller
行 11:     {
行 12:         private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(CustomerController));

 
经跟踪源码,要解决这个错误,应对log4net源码做如下修改:

1、使用NET_20预编译常量编译log4net项目,目标Runtime改为.NET 4.0 framework;

2、确保log4net.Util.SystemInfo.CurrentThreadId返回的是System.Threading.Thread.CurrentThread.ManagedThreadId;

3、注释掉AssemblyInfo.cs中的代码行: [assembly: System.Security.AllowPartiallyTrustedCallers] 或者改为[assembly:SecurityRules(SecurityRuleSet.Level1)]

4、更改XmlConfigurator.cs 中的settings.ProhibitDtd = false; 为settings.DtdProcessing = DtdProcessing.Parse;

 

http://www.cnblogs.com/sgsoft/archive/2011/03/22/1991976.html

目录
打赏
0
0
0
0
13
分享
相关文章
|
10月前
Error:java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzc.class ,EvalIssueExcep
Error:java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzc.class ,EvalIssueExcep
88 0
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
970 1
Error:Internal error: (java.lang.NoClassDefFoundError) Could not initialize class com.intellij.util.
Error:Internal error: (java.lang.NoClassDefFoundError) Could not initialize class com.intellij.util.
已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno
已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno
167 0
System与Runtime类
System与Runtime类
86 0
tomcat启动报错:Internal error (java.lang.IllegalStateException): Duplicate key org.jetbrains.jps.model.module.impl.JpsModuleImpl@548a102f
tomcat启动报错:Internal error (java.lang.IllegalStateException): Duplicate key org.jetbrains.jps.model.module.impl.JpsModuleImpl@548a102f
700 0
tomcat启动报错:Internal error (java.lang.IllegalStateException): Duplicate key org.jetbrains.jps.model.module.impl.JpsModuleImpl@548a102f
【异常】Failed to bind properties under ‘logging.level‘ to java.util.Map<java.lang.String, java.lang.Str
【异常】Failed to bind properties under ‘logging.level‘ to java.util.Map<java.lang.String, java.lang.Str
287 0
Scala 运行代码报错: error: object redisson is not a member of package org
Scala 运行代码报错: error: object redisson is not a member of package org
Scala 运行代码报错: error: object redisson is not a member of package org
【.Net实用方法总结】 整理并总结System.IO中FileInfo类及其方法介绍
本文主要介绍System.IO命名空间的FileInfo 类,介绍其常用的方法和示例说明。
【.Net实用方法总结】 整理并总结System.IO中FileInfo类及其方法介绍
Java--- Ambiguous mapping. Cannot map "***Controller" been method解决办法
打开网页报错: Ambiguous mapping. Cannot map 'handController' method  public com.smallchill.core.toolbox.ajax.
2312 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等