我正在設計一個ASP.NET MVC4 Web App項目。在我的項目的根目錄中,我有習慣性的默認Web.config
文件和我的相應元素。特別是,我定義了幾個appSettings
元素。作爲示例摘錄來證明這一點:從多個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集合?
也看到http://stackoverflow.com/questions/11351106/multiple-appsettings-files-is-it-possible –