これは IIS7.5 と .NET 4.0 です。シナリオは次のとおりです。
- Web サイト
localhost
は path に設定されていますC:\wwwroot\
。ファイルのみが含まれていDefault.html
ます。 - AC# Web アプリケーションは(Web ルートの外部) に
MyWebApp
格納されます。C:\MyWebApp\
MyWebApp
に Web アプリケーションとして登録されていlocalhost
ます/foo/bar/MyWebApp
MyWebApp
ルートに接続文字列などを含むweb.configがあります
にアクセスするhttp://localhost/foo/bar/MyWebApp
と、接続文字列が見つからないという例外がスローされます。の web.configからの構成がまったくConfigurationManager
含まれていないことが判明しました。不正な形式の XML を追加すると例外がスローされるため、サーバーは web.config を解析します。構成データはマージされません。MyWebApp
私が見つけたのは、localhost
を含めるには物理ディレクトリが含まれている必要があるということC:\wwwroot\foo\bar\MyWebApp
でしたC:\MyWebApp\Web.config
!
この動作が文書化されている場所を見つけることができませんでした。仮想パスに登録された Web アプリケーションには、物理パスが存在する必要がありますか?