我正在设计一个 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 文件,一个 at./Web.config
和一个 at ./Areas/PackageName/Web.config
。
在我的包中,我想检索dirEnabled
. 为此,我拨打电话:ConfigurationManager.AppSettings["dirEnabled"]
. 但是,这会引发错误。似乎只从./Web.config
我的包配置文件而不是从我的包配置文件中检索 appSettings 的集合。是否有可能从我的包的配置文件而不是项目根配置文件中获取 appSettings 集合?