Nlog给出exception可能的解释是缺少零arg和单个arg Common.Logging.Configuration.NameValueCollection构造函数
我将nlog添加到我的应用程序和测试项目中。 它们都是同一解决方案的一部分。 从内部应用程序nlog工作。 但是从测试项目得到以下exception:
Unable to create instance of type Common.Logging.NLog.NLogLoggerFactoryAdapter. Possible explanation is lack of zero arg and single arg Common.Logging.Configuration.NameValueCollection constructors
我的Nlog配置如下:
packages.congfig文件
当我仔细看看有一个内部exception,抱怨找不到nlog 2.0.0 dll。 找到如下解决方案
- 删除与nlog和commons logging restart应用程序相关的所有软件包。 如果没有被nuget编辑.csproj文件和.packages文件删除包,则删除对Commons日志记录或nlog包的所有引用。
- 然后在搜索文本框中输入
Common.Logging.Nlog
,搜索最新的nlog包。 然后选择最新的nlog包,它将安装所有其他所需的包,以便使用nlog通过commons logging作为依赖项。 如下所示: -
在你的
web.config
更新你的工厂适配器元素在我的情况下我选择了31,所以更新它
PS如果收到错误The configuration section cannot contain a CDATA or text element.
然后问题必须是配置文件中的类型。
将Common.Logging和NLog配置从一个网站移动到另一个网站后,我遇到了这个错误。 我错过了web.config的程序集绑定部分中的’dependentAssembly’块:
...
添加,以防这个问题帮助其他人与我相同的问题!