如何正确配置IIS 7.5子应用程序?

3
我有一个托管在网站根目录的父应用程序。它是一个.NET 4.0应用程序,应用程序池显然设置为4.0。
我想在以下位置配置子应用程序:
/blog
这是一个.NET 2.0应用程序(它是BlogEngine.NET)。我创建了一个名为“blog”的新虚拟目录,将其指向适当的目录,将其转换为应用程序,并将其放入自己的应用程序池中,设置为.NET Framework 2.0。
我编辑了父web.config并添加了:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
      <configSections>
         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
  ....entire web.config basically...
  </location>
</configuration>

紧跟在元素之后。但是,当我访问http://localhost/blog时,出现以下错误:

无法读取配置部分“configSections”,因为缺少部分声明

有人知道这里发生了什么或者我可能遗漏了什么吗?

2个回答

2

不幸的是,这是IIS处理虚拟目录方式的缺点。即使在子应用程序中没有父应用程序的web.config文件,它仍然会被读取。我之前曾尝试将一个4.0版本的应用程序嵌套到一个3.5版本的应用程序中作为其子级,但经过几天的挣扎、在stackoverflow上提问和在论坛上发布帖子后,我最终得出结论,这只会带来更多的麻烦。


我得出了相同的结论。 - Scott

0

为什么不将BlogEngine升级到Asp.net 4.0呢?

下载BE 2.0 Web版本,用Visual Studio打开它,它会问“您想要4.0吗?”选择是,然后它会为您定位web.config。

然后,您只需将新的web.config上传到服务器即可。

如果您有旧版的BE,则可能需要将其升级到最新的稳定版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接