如何停止web.configinheritance

我在Windows Server 2003(32位)上的IIS6中有一个Asp .net 3.5网站。

在子虚拟目录中使用Asp.Net 1.1 WebApplication。 (这被设置为使用较旧的1.1 .net运行时,并配置了它自己的应用程序池。所以对于所有意图和目的是完全独立的。

除了它继续inheritance根网站的.net 3.5 web.config。

我试过添加

 

到根网站web.config但它似乎不起作用。

实际上,错误很奇怪

  

这是从网络路径WEBSITE / OLD_WEBAPP从.net 1.1运行时报告的,但它对webSite(如.net 3.5中的)web.config以及它如何不理解sectionGroup标签上的type属性抱怨。

我究竟做错了什么? 请告诉我这是显而易见的。 谢谢

   ...   

只是为了让每个人都知道,我现在找到了一个符合我目的的答案。

我最终将所有配置放在.net 2.0全局web.config中

 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 

我从connect.microsoft.com的评论中得到了这个建议

ASP.NET 1.1和2.0的配置系统都是层次结构的。 因此,如果不同的框架版本是根网站的子级(通常是inetpub \ wwwroot),则子级中的配置系统将尝试合并根网站的配置。 此行为是设计使然,因为1.1和2.0配置系统都在物理目录结构中查找父web.configs。

一个简单的解决方法是将公共2.0配置信息移动到2.0框架的根web.config文件。 根web.config位于:C:\ windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG。 使用这种方法,所有2.0应用程序将获取公共部分,而1.1应用程序将看不到这些部分。

感谢您提交此问题。 希望以上信息对您有用。

微软于22/02/2008 17:35发布

似乎对我有用,虽然它不像它是一个.net 2.0应用程序那么优雅。 希望这有助于其他人。

Web.config中的大多数部分都可以添加一个标记 – 可能值得将其添加到受影响的部分以查看它是否解决了inheritance探测(请参阅是否可以完全否定“更高”的web.config一个子文件夹?注意一些注意事项)。