我在IIS 7上有一个.NET 4.0应用程序,它包含一个嵌套的.NET 2.0应用程序。问题是嵌套的.NET 2.0应用程序在web.config的<configSections>
内有system.web.extensions sectionGroup,而.NET 4.0父应用程序machine.config也包含那些sectionsGroups。这会导致状态码500服务器错误。
注释掉子应用程序web.config中的system.web.extensions sectionGroup,但不能用于我们的设置。
如何阻止在子应用程序中继承父web.config?我已经看到<location path="." inheritInChildApplications="false">
在以前的.NET版本中被使用了,但是我该如何包装location元素呢?
Intellisense向我显示“不允许使用inheritInChildApplications属性”,并且在我放置它的位置似乎并不重要。
答案 0 :(得分:4)
我们将所有不希望继承的设置包装在空位元素中:
<location inheritInChildApplications="false">
Intellisense抱怨它,但似乎在生产模式下运行良好。
this article中有一些很好的附加信息。
答案 1 :(得分:0)
本案例中的解决方案是修改我的测试环境以避免configSection
冲突。对于这场冲突似乎没有真正的解决方案。见这里:How to stop inheritance of configSections in Web Config