我想在Prism应用程序中添加log4net支持 . 不幸的是,每个棱镜模块都会出现以下错误:
错误101未知的构建错误,'无法解析对程序集的依赖关系'log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821'因为它尚未预加载 . 使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件按需预加载或加载相关的程序集 . [PRISM MODULE 1项目名称]错误101未知构建错误,'无法解析对程序集的依赖关系'log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821'因为尚未预加载 . 使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件按需预加载或加载相关的程序集 . [PRISM MODULE 2 PROJECT NAME]等......
我将 Logger 设置如下:
-
我将log4net程序集引用添加到主应用程序和引导程序 .
-
我将log4net配置添加到app.config文件中 .
-
我将[assembly:log4net.Config.XmlConfigurator(Watch = true)]添加到App.xaml.cs文件中 .
-
我创建了一个 Logger ,实现ILoggerFacade并覆盖Bootstrapper中的CreateLogger(),使其返回我的自定义 Logger .
而已 . 如果我尝试构建,它会因为上面提到的每个棱镜模块项目的错误而失败 . 我发现的唯一工作是手动将log4net引用添加到每个prism模块项目中,我认为这种方法可以破坏ILoggerFacade与实际实现的依赖关系之间的抽象 .
该错误建议使用ReflectionOnlyAssemblyResolve事件,但我不知道它是如何帮助的,因为它是构建错误,而不是运行时 .
有什么建议吗? :-)
1 回答
好吧,我发现了问题,每个模块都引用了引导程序,这是错误的,我删除了依赖项和VOILA,修复了!