基本指針
IIS上でいう「サイト」のWebConfigと「アプリケーション」のWebconfigがある場合、既定では「サイト」のWebConfigが「アプリケーション」に継承される。
(しいて言えば、Machine.configから継承される)
継承されると困ること
何も知らずに「サイト」と「アプリケーション」に同じ内容を記載すると、エラーが発生する。
これは、WebConfigに追加したキー項目が重複しているため
どうすればよいの?
いくつか方法はある。
どれがベストプラクティスなのかは、私もわからないので、やり方を列挙する
(1)Clearする
タグを入れてから追加する。ただ、どこまでClearされるのかは正直不明。
自分がしたいだけのものならよいが、今まで設定されてきたものもすべてClearとかだとちょっと怖い。
(2)remove
追加する前にremoveする。でも、タグによって使える、使えないがある模様
(3)inheritInChildApplicationsを使う
こんな感じ
< location inheritInChildApplications = "false">~~ < /location>
このlocationは、親のほうで設定する項目だと思う。
アプリケーションが複数あるような環境だと、それぞれ設定が必要と想定される。
参考URI
https://docs.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/development/application-directory-configuration
https://blog.shibayan.jp/entry/20150613/1434177284
https://docs-microsoft-com.translate.goog/en-us/troubleshoot/developer/webapps/aspnet/development/application-directory-configuration?_x_tr_sl=en&_x_tr_tl=ja&_x_tr_hl=ja&_x_tr_pto=op,wapp
https://stackoverflow.com/questions/23367347/entry-has-already-been-added-two-separate-app-pools