0

我将一个旧站点移植到 MVC 4 中,并且到目前为止我可以正常工作。但是,我们使用的第三方论坛也没有改变。在 IIS 7 中,我为论坛创建了一个新应用程序,它也有自己的应用程序池(MVC 是 .NET4,论坛是 .NET 2)。

应用程序位于服务器上的不同物理目录中,以下是 IIS 目录结构,其中 ForumApp 为子应用程序:

\RootMVCSite\
\RootMVCSite\bin
\RootMVCSite\[OTHERMVCFILESANDFOLDERS]
\RootMVCSite\web.config
\RootMVCSite\ForumApp\
\RootMVCSite\ForumApp\bin
\RootMVCSite\ForumApp\[OTHERFORUMAPPFILESANDFOLDERS]
\RootMVCSite\ForumApp\web.config

但是,当我去论坛时,我收到以下错误:

Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.

Line 20:   <system.web>
Line 21:     <compilation targetFramework="4.0" />

令人困惑的部分是它在 web.config 中查找根 MVC 站点,而不是子应用程序指向的论坛站点。我需要在 IIS 或 web.config 中做什么来解决这个问题?有没有办法阻止子应用查看根站点的 web.config?

4

2 回答 2

1

我想到了。通过使用location标签包装有问题的配置部分,任何子应用程序都将忽略这些设置。

<location path="." inheritInChildApplications="false">
  <system.web>
    <compilation targetFramework="4.0" />
  </system.web>
  ...
</location>

如果对此解决方案有什么我应该警惕的地方,请插话并提出任何改进或建议!

于 2013-09-13T15:36:44.277 回答
0

在 IIS 中检查该站点的应用程序池,并确保它以 .NET Framework 4.0 为目标。默认情况下,新的应用程序池将设置为 .NET 2.0。

于 2013-09-13T14:30:00.523 回答