Prism Log4Net构建错误:“无法解析对程序集log4net的依赖”

我想在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)

2 years ago

好吧,我发现了问题,每个模块都引用了引导程序,这是错误的,我删除了依赖项和VOILA,修复了!