私はASP.NET MVC4 Web Appプロジェクトを設計しています。私のプロジェクトの根底には、慣習的なデフォルトのWeb.config
というファイルがあります。特に、いくつかの要素が定義されています。この実証する例の抜粋として:当然複数のWeb.configファイルからappSettingsにアクセスする
<appSettings>
<add key="foo" value="bar" />
</appSettings>
を、Iは、ConfigurationManager.AppSettings["foo"]
を使用してコード内のこの要素にアクセスすることができます。これは私にとって完璧に機能します。しかし、私はプロジェクトの横にNuGetパッケージを作成しています。パッケージは、自分のプロジェクトのAreas
ディレクトリの下にある独自のディレクトリにインストールされます。ここでは、私のパッケージのルートに、別のファイルWeb.config
があります。これは、別のユーザーがNuGetパッケージをインポートすると、パッケージリソースの構成がパッケージ固有のものになるためです。ただ、相対パスの観点から明確にする
<appSettings>
<add key="dirEnabled" value="true" />
</appSettings>
、私は今、2つのweb.configファイル、./Web.config
で1と./Areas/PackageName/Web.config
1つを持っている:パッケージのWeb.config
は、以下が含まれてみましょう。
パッケージ内で、dirEnabled
の値を取得したいとします。これを行うには、ConfigurationManager.AppSettings["dirEnabled"]
に電話します。ただし、これはエラーをスローします。あたかもパッケージ設定ファイルではなく、./Web.config
からappSettingsのコレクションだけが取得されているように見えます。 プロジェクトのルート設定ファイルではなく、パッケージの設定ファイルからappSettingsコレクションを取得することは可能ですか?
も答えをhttp://stackoverflow.com/questions/11351106/multiple-appsettings-files-is-it-possible –