这是IIS7.5和.NET 4.0。这是场景:
localhost
设置在路径C:\wwwroot\
;它只包含一个Default.html
文件。MyWebApp
存储在C:\MyWebApp\
(网络根目录之外)MyWebApp
已在localhost
/foo/bar/MyWebApp
MyWebApp
在其根当我访问http://localhost/foo/bar/MyWebApp
时,它会抛出一个关于缺少连接字符串的异常。事实证明ConfigurationManager
不包含来自MyWebApp
的web.config的任何配置。服务器会解析web.config ,因为如果我添加格式错误的XML,则会抛出异常。配置数据刚刚未合并。
我发现localhost
必须包含C:\wwwroot\foo\bar\MyWebApp
的物理目录才能包含C:\MyWebApp\Web.config
!
我无法找到记录此行为的任何地方。是否需要为在虚拟路径上注册的Web应用程序存在物理路径?