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