引用项目中的app.config会发生什么

时间:2011-12-07 08:06:41

标签: .net app-config

假设我有2个项目,其中项目A引用项目B.项目A是Web应用程序项目,项目B是类库。

类库有一个app.config文件,其中存储了一些设置。当我编译项目A时,在bin文件夹中创建projectB.dll。

部署Web应用程序时app.config文件的内容会发生什么变化?设置是否已编译为ProjectB.dll?

是否可以使用反射器或ILSpy等工具检索app.config的内容?

4 个答案:

答案 0 :(得分:8)

您可以将app.config添加到库项目中,但未使用或包含在任何输出中。

配置意味着在应用程序中完成 - 而不是在库中。因此,您需要将配置问题放在Web应用程序的web.config中,而不是放在库的app.config中。

答案 1 :(得分:3)

App.config是配置,而不是应用程序 - 因此它不会保存到dll中,并且无法通过反射器显示或反编译。

您必须使用 Project A 的设置配置 Project B (在web.config中,因为它是Web应用程序)。

没有机制 automagicaly 配置外部模块,除非他们编码了默认的后退值。

答案 2 :(得分:2)

在运行时,项目B将使用Web应用程序项目(主机)的设置。因此,您必须在web.config文件中重新复制您的设置。

答案 3 :(得分:1)

您的类库B的App.config变得无关紧要。如果您想使用那里的数据,您应该将所有内容复制到您的父应用程序的app.config(在您的情况下为web.config)。然后,您将能够使用项目A和B中的ConfigurationManager访问它的内容