Asp.net 在具有4.0应用程序池的站点下运行具有2.0应用程序池的子应用程序 脚本

Asp.net 在具有4.0应用程序池的站点下运行具有2.0应用程序池的子应用程序 脚本,asp.net,.net,iis,application-pool,.net-framework-version,Asp.net,.net,Iis,Application Pool,.net Framework Version,我有一个使用ASP.NET4.0构建的IIS站点应用程序,它使用自己的AppV4.0应用程序池运行。此站点托管的是一个使用ASP.NET2.0构建的子应用程序,它有自己的应用程序池 <site name="Intranet" id="1" serverAutoStart="true"> <application path="/" applicationPool="Site-Intranet"> <virtualDirectory path="

我有一个使用ASP.NET4.0构建的IIS站点应用程序,它使用自己的AppV4.0应用程序池运行。此站点托管的是一个使用ASP.NET2.0构建的子应用程序,它有自己的应用程序池

<site name="Intranet" id="1" serverAutoStart="true">
    <application path="/" applicationPool="Site-Intranet">
        <virtualDirectory path="/" physicalPath="D:\sites\intranet" />
    </application>
    <application path="/ChildApp" applicationPool="App-ChildApp">
        <virtualDirectory path="/" physicalPath="D:\apps\childapp" />
    </application>
</site>
问题: 这些修复/解决方案到底是怎么回事

在场景1中,2.0应用程序是否由4.0 CLR编译/运行?假设是这样,CLR是否尝试将其作为2.0应用程序运行(即向后兼容)?还是仅仅假设它是一个4.0网络应用程序(似乎很危险)

在场景2中,我知道我们已经阻止了子应用程序看到
targetFramework
属性,但是2.0 CLR真的编译/运行了应用程序吗?如果是这样的话,在ASP.Net 4.0站点下安全运行ASP.Net 2.0应用程序所需的就是这些吗?

我已经多次使用场景2,从未遇到过任何问题。因此,这就是在ASP.NET4.0站点下安全运行ASP.NET2.0应用程序所需的全部内容


虽然没有人能回答你的两个应用程序肯定会以这种方式协同工作。也许最好做一个完整的系统测试,如果你发现了任何具体的问题,就发布一个新的问题

你在哪里找到解决办法的?Microsoft MSDN文章中没有提到它们,因此它们可能不会像您预期的那样工作。您是否了解这一点?这并不能真正回答问题。
<location path="." inheritInChildApplications="false">
    <system.web>
        <compilation targetFramework="4.0" debug="true" />
    </system.web>
</location>