配置为使用 .NET Framework 4.0 的 IIS AppPool 仍在使用 2.0

IIS AppPool configured to use .NET Framework 4.0 is still using 2.0

我必须 运行 一个使用 .NET 4.0 的 ASP.NET 应用程序,因此我在 IIS 管理器 (inetmgr.exe) 中创建了一个新网站并将其应用程序池设置为 ASP.NET v4.0,这里是 AppPool 描述的截图:

这是我如何配置网站的屏幕截图:

但是当我导航到该网站时出现此错误

英文是

Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.

当您在 2.0 AppPool 中 运行 一个 ASP.NET 4.0 应用程序时会发生此错误,并且从屏幕截图中您还可以注意到

.NET Framework:2.0.50727.5456

为什么是 运行ning .NET 2.0?我在配置中做错了什么? 我也尝试 aspnet_regiis.exe -ir 甚至是 .NET 4.0 和 2.0,但没有成功

Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.

当未安装更高版本(例如 4.5.2)时,.NET 4 会出现。该属性是在 .NET 4.5 中添加的(因此 ASP.NET 加载程序知道加载 4 系列的更高版本)。

如果您没有安装 .NET 4.5 或更高版本,加载程序不知道如何处理该属性。

(.NET 4.5.2 已在 Windows 更新上推出:恕我直言,服务器现在至少应该是 运行 那个版本:它包含对 .NET 4 的重要错误修复。如果正在部署新的 Web 应用程序,尤其如此。)

我假设出现在 YSOD 上的 V2 是由于无法在 .NET 4 下加载回退。