-1

我正在尝试使用 log4net 在 Windows CE/Windows Embedded 项目中提供日志记录。但是,在调试项目时,我得到以下异常

System.TypeLoadException 发生 Message="TypeLoadException" StackTrace: at log4net.LogManager.GetLogger(Assembly repositoryAssembly, String name) at log4net.LogManager.GetLogger(Type type) at Sis.SiLogCE.Broker.StartBroker..cctor() at Sis。 SiLogCE.Broker.EntryPoint.Program.Main()

从以下行:

private static readonly ILog log = LogManager.GetLogger(typeof(StartBroker)); 

起初,我认为我可能使用了错误的 dll/旧 dll,所以我下载了最新版本 - 我使用的1.2.12-bin-newkey是 .net-cp 3.5 中的 log4net.dll。

我查看了其他示例和文档,但我看不出为什么我会在这里遇到类型加载异常。我现在几乎不知道是什么夫妇导致了异常。

背景资料:

应用程序将部署在 Windows CE 6 和 Windows Embedded/Windows Mobile 6 和 6/5 设备上。

.net 3.5 .netcf

以下块显示从名为“log4net.config”的 XML 文件加载 log4net 的配置。

    string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().
        GetModules()[0].FullyQualifiedName) + "log4net.config";

    if (File.Exists(path))
    {
        XmlConfigurator.ConfigureAndWatch(new FileInfo(path));
    }

编辑:

到目前为止,我只在 Wince 6.0 上进行了测试,所以我刚刚尝试了 Windows Mobile 6.5 - 没有什么不同,出现了同样的例外情况。

4

1 回答 1

1

您是使用二进制版本,还是从源代码构建?我问这个页面提到二进制版本支持 Compact Framework 1.0 和 2.0,但如果从源版本构建则支持。

于 2013-10-25T09:59:02.807 回答