在IIS / ASP.Net中的.NET 1.1应用程序中创建.NET 3.0子应用程序

时间:2010-03-31 19:07:45

标签: asp.net iis web-applications asp.net-2.0 asp.net-1.1

我基本上试图做与this question相同的事情, 在文件夹中创建一个新的应用程序,以便按如下方式访问它。

* http://www.domain.com/ < Main App
* http://www.domain.com/newapp < New App

问题是newapp正在从主应用程序中读取web.config,这会导致错误,因为它没有所有相同的dll等。
对于新应用程序,在IIS中,起点设置为/ newapp,所以我不确定为什么它从/读取web.config。它被设置为它自己的应用程序。

我在XP专业版的IIS6中测试了这个,所以不确定这是否有所作为。 主应用程序是dotnet 1.1,新应用程序是3.0。

编辑: 将'inheritInChildApplications'添加到<location&gt;在1.1中不起作用,你得到一个错误:

Parser Error Message: Unrecognized attribute 'inheritInChildApplications'

2 个答案:

答案 0 :(得分:4)

这是设计的。从根目录读取Web.config到相关的app文件夹。除非您的应用更改,否则根目录中的所有更改都会应用到您的应用中。阅读此MSDN link以更好地了解Web.config层次结构&amp;继承。

为了让你的应用忽略root中的设置,你需要应用location元素,并将inheritInChildApplications属性设置为false。

类似的东西:

<location path="." inheritInChildApplications="false">
 <settings.....>
</location

例如,如果根web.config中有一个特定于root应用程序的部分,则将该元素包围在该部分周围。使用“。”的路径。表示您希望此app文件夹下面的路径中的所有项目都不继承此部分。

答案 1 :(得分:0)

如前所述 - inheritInChildApplications在.net 1.1中不起作用。

我一直在这方面做了很多研究,我最初来这里寻找解决方案。该主题并没有明确指出这是一个有针对性的1.1问题。

如果您遇到问题并且您的应用程序是2.0或更高版本,请查看本文以获取有关inheritInChildApplications属性的大量详细信息: