Enterprise lib 5.0未检测到app.config

时间:2010-11-18 08:47:28

标签: enterprise-library

我有一个包含Web项目和类库项目的解决方案。类库项目包含Enterprise library 5.0和app.config。当我尝试执行Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write时,我得到以下异常:

  

依赖项的解决方案失败,   type =   “Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter”   name =“(none)”。发生了异常   while:同时解决。例外情况是:   InvalidOperationException - 类型   无法构造LogWriter。您   必须配置要供应的容器   这个价值。    - - - - - - - - - - - - - - - - - - - - - - - - 当时例外,   容器是:解决   Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter,(无)

如果我将所有类文件移动到Web项目并在Web.config中进行企业库配置,那么一切正常。我想问题是企业库没有检测到包含所有配置的app.config。

请帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:3)

.NET dll没有配置文件。 AppDomains做。您不能将任何配置放在dll的“app.config”文件中,并期望它自动被选中。这是.NET配置文件的工作方式;并不是“entlib不会自动检测到它”,它正在做.NET框架定义配置文件的行为。

答案是将代码保留在库中,但将配置放在Web应用程序的web.config文件中。然后一切都会起作用。

您可以执行更多高级操作,例如手动加载配置文件,但它们相当先进,特别是对于日志记录,可能会导致管理员头痛。