これは IIS7.5 と .NET 4.0 です。シナリオは次のとおりです。
- Web サイト
localhostは path に設定されていますC:\wwwroot\。ファイルのみが含まれていDefault.htmlます。 - AC# Web アプリケーションは(Web ルートの外部) に
MyWebApp格納されます。C:\MyWebApp\ MyWebAppに Web アプリケーションとして登録されていlocalhostます/foo/bar/MyWebAppMyWebAppルートに接続文字列などを含む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 アプリケーションには、物理パスが存在する必要がありますか?