我将旧网站移植到MVC 4中,到目前为止我已将其工作。但是,我们使用的第三方论坛也没有改变。在IIS 7中,我为论坛创建了一个新的应用程序,它还有自己的应用程序池(MVC是.NET4,论坛是.NET 2)。
应用程序位于服务器上的不同物理目录中,这就是使用ForumApp作为子应用程序的IIS目录结构:
\ 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?
答案 0 :(得分:1)
我明白了。通过使用location
标记包装违规配置部分,任何子应用程序都会忽略这些设置。
<location path="." inheritInChildApplications="false">
<system.web>
<compilation targetFramework="4.0" />
</system.web>
...
</location>
如果有什么我应该对这个解决方案保持警惕,请加入并提出任何改进或建议!
答案 1 :(得分:0)
在IIS中检查该站点的应用程序池,并确保它以.NET Framework 4.0为目标。默认情况下,新的应用程序池将设置为.NET 2.0。