【发布时间】:2013-07-08 15:34:02
【问题描述】:
我正在设计一个 ASP.NET MVC4 Web App 项目。在我的项目的根目录中,我有惯用的默认 Web.config 文件以及相应的元素。特别是,我定义了一些 appSettings 元素。作为一个示例摘录来证明这一点:
<appSettings>
<add key="foo" value="bar" />
</appSettings>
当然,我可以使用ConfigurationManager.AppSettings["foo"] 在代码中访问此元素。这对我来说非常有效。但是,我正在我的项目旁边创建一个 NuGet 包。该软件包安装在我项目的Areas 目录下的自己的目录中。在这里,在我的包的根目录中,我有另一个 Web.config 文件。这样,当另一个用户导入 NuGet 包时,包资源的配置是包的本机配置。让包的Web.config 包含以下内容:
<appSettings>
<add key="dirEnabled" value="true" />
</appSettings>
为了澄清相对路径,我现在有两个 Web.config 文件,一个位于 ./Web.config,一个位于 ./Areas/PackageName/Web.config。
在我的包中,我想检索dirEnabled 的值。为此,我拨打了电话:ConfigurationManager.AppSettings["dirEnabled"]。但是,这会引发错误。似乎只从./Web.config 检索 appSettings 的集合,而不是我的包配置文件。 是否可以从我的包的配置文件而不是项目根配置文件中获取 appSettings 集合?
【问题讨论】:
标签: asp.net asp.net-mvc-4 web-config