无法识别的属性'targetFramework'。在4.0站点与2.0子文件夹?

时间:2011-03-24 13:40:22

标签: iis .net-4.0

我最近将网站升级到.net 4.0。我更改了应用程序池,几乎所有内容都正常运行。

然而,由于某种原因,位于“admin”子文件夹中且具有自己的web.config的站点的管理部分仍然在2.0下运行。当我左键单击IIS中的子目录并检查属性的ASP.net选项卡时,它获得ASP.NET版本2.0.50727。

如果我点击“编辑配置”,我会收到此错误消息 “尝试读取配置时出现错误。”错误消息是:

无法识别的属性'targetFramework'。请注意,属性名称区分大小写。

受保护的Web配置直接看起来像这样

<?xml version="1.0"?>
<!-- 
    Note: As an alternative to hand editing this file you can use the 
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments usually located in 
    \Windows\Microsoft.Net\Framework\v2.x\Config 
-->
<configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
        <customErrors mode="Off"></customErrors>
    </system.web>
</configuration>

当我尝试导航到管理部分时,我得到“服务器应用程序不可用”,并且应用程序日志中的条目抱怨两个不同的版本。

所有内容都在同一个应用程序池4.0下运行。为什么子文件夹不是4.0,我该如何解决?

3 个答案:

答案 0 :(得分:5)

您运行的是哪个版本的IIS?

我的猜测是,在某些时候,您(或其他人)在子文件夹上手动将ASP.NET版本设置为2.0。

它的工作方式...... IIS检查是否未设置该值。如果未设置,则它继承父项的值。一旦明确设置了值,更改父级的值就不会级联到子级。

答案 1 :(得分:2)

听起来您正在使用IIS6,在这种情况下,您必须右键单击子目录并更改ASP.Net版本。

答案 2 :(得分:0)

由于某种原因,IIS 6 Metabase中有一个admin文件夹条目。使用IIS 6 Metabase资源管理器,我能够删除包含指向2.0 asapi .dll的数据的ScriptMaps条目。

这解决了我的问题。