我正在设计一个 ASP.NET MVC4 Web 应用项目。在我的项目根目录下,我有默认的
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集合,而不是项目根配置文件?