Asp.NET targetFramework 版本和 IIS 应用程序池版本不匹配
Asp.NET targetFramework Versions and the IIS Application Pool Versions mismatch
最近我一直在 IIS 中为 Asp.Net 网站创建应用程序池。让我感到惊讶的是,那些应用程序池有 v4.0,而网站的目标是 .Net 框架 v4.5 / v4.5.1
个别网站 Web.config 中的条目:
这就是应用程序池设置:
是不是像targetFramework="4.5",App Pool版本应该是4.5,targetFramework="4.5.1",App Pool版本应该是4.5.1?
App Pool 版本 4.0 是否也处理在 4.5 和 4.5.1 中开发的所有 Web Application/Websites?
是的,4.0 池就如您所愿。
根据您使用的 IIS 版本,您可能会在 IIS 管理器中看到有关应用程序池设置的不同文本(.NET Framework v4.0.30319 或 CLR v4.0.30319),但它们都表示 CLR 版本。 (managedRuntimeVersion
就是 actual XML setting)。所有 .NET Framework 4.x 版本都使用相同的 CLR 版本 4.0。
用于托管您的 Web 应用程序的那台机器的实际 ASP.NET 版本仅取决于您安装的 .NET Framework(根据您的假设是 4.5/4.5.1)。
应用程序池显示 Asp.NET 运行时版本,也可以说是 CLR 版本。
在新的 Asp.NET 框架版本中,引入了各种新的 libraries/functionalities/features 以及(可能)新的编译器、构建目标文件。
从下面观察 table,框架版本没有引入新的 CLR 版本 4.5 -> 4.5.1 ->4.5.2 ...
这意味着使用框架 v4.5/v4.5.1/v4.5.2
目标 CLR 版本 4
开发的任何网站因此使用应用程序池版本 4.0
.NET Framework 版本 2.0, 3.0, and 3.5
是使用相同版本的 CLR (CLR 2.0
) 构建的。这些版本代表单个安装的连续层。每个版本都是在早期版本的基础上逐步构建的。因此,您将看到这些框架的应用程序池 v2.0
。
简而言之,
Framework Version != App Pool Version
App Pool Version = CLR Version
CLR Version = Folders at location: C:\Windows\Microsoft.NET\framework
位置 C:\Windows\Microsoft.NET\framework
的版本文件夹包含 Asp.NET 运行时
的编译器和目标构建文件
最近我一直在 IIS 中为 Asp.Net 网站创建应用程序池。让我感到惊讶的是,那些应用程序池有 v4.0,而网站的目标是 .Net 框架 v4.5 / v4.5.1
个别网站 Web.config 中的条目:
这就是应用程序池设置:
是不是像targetFramework="4.5",App Pool版本应该是4.5,targetFramework="4.5.1",App Pool版本应该是4.5.1?
App Pool 版本 4.0 是否也处理在 4.5 和 4.5.1 中开发的所有 Web Application/Websites?
是的,4.0 池就如您所愿。
根据您使用的 IIS 版本,您可能会在 IIS 管理器中看到有关应用程序池设置的不同文本(.NET Framework v4.0.30319 或 CLR v4.0.30319),但它们都表示 CLR 版本。 (managedRuntimeVersion
就是 actual XML setting)。所有 .NET Framework 4.x 版本都使用相同的 CLR 版本 4.0。
用于托管您的 Web 应用程序的那台机器的实际 ASP.NET 版本仅取决于您安装的 .NET Framework(根据您的假设是 4.5/4.5.1)。
应用程序池显示 Asp.NET 运行时版本,也可以说是 CLR 版本。
在新的 Asp.NET 框架版本中,引入了各种新的 libraries/functionalities/features 以及(可能)新的编译器、构建目标文件。
从下面观察 table,框架版本没有引入新的 CLR 版本 4.5 -> 4.5.1 ->4.5.2 ...
这意味着使用框架 v4.5/v4.5.1/v4.5.2
目标 CLR 版本 4
开发的任何网站因此使用应用程序池版本 4.0
.NET Framework 版本 2.0, 3.0, and 3.5
是使用相同版本的 CLR (CLR 2.0
) 构建的。这些版本代表单个安装的连续层。每个版本都是在早期版本的基础上逐步构建的。因此,您将看到这些框架的应用程序池 v2.0
。
简而言之,
Framework Version != App Pool Version
App Pool Version = CLR Version
CLR Version = Folders at location: C:\Windows\Microsoft.NET\framework
位置 C:\Windows\Microsoft.NET\framework
的版本文件夹包含 Asp.NET 运行时