简体   繁体   English

Asp.NET targetFramework版本和IIS应用程序池版本不匹配

[英]Asp.NET targetFramework Versions and the IIS Application Pool Versions mismatch

Recently I have been creating Application Pool in IIS for Asp.Net Websites. 最近我一直在IIS中为Asp.Net网站创建应用程序池。 What seems surprising to me is that those App Pools were having v4.0 , while the websites were targeting .Net framework v4.5 / v4.5.1 让我感到惊讶的是那些App Pools有v4.0,而网站的目标是.Net framework v4.5 / v4.5.1

Entry in Web.config of Individual websites: 在个人网站的Web.config中输入:

and this is what is App Pool Settings: 这就是应用程序池设置:

在此输入图像描述

Isn't it like for targetFramework="4.5", App Pool version should be 4.5, for targetFRamework="4.5.1", App Pool version should be 4.5.1 ? 是不是像targetFramework =“4.5”,App Pool版本应该是4.5,对于targetFRamework =“4.5.1”,App Pool版本应该是4.5.1?

Does App Pool version 4.0 handles all Web Application/Websites developed in 4.5 and 4.5.1 as well ? App Pool版本4.0是否也处理4.5和4.5.1中开发的所有Web应用程序/网站?

The Application Pool displays the Asp.NET runtime versions, which you can also say as CLR versions. 应用程序池显示Asp.NET运行时版本,您也可以将其称为CLR版本。

With the new Asp.NET framework versions various new libraries/functionalities/features are introduced along with (possibly) new Compiler, Build Target files. 使用新的Asp.NET框架版本,引入了各种新的库/功能/特性以及(可能)新的编译器,构建目标文件。

As observed from below table, there are NO new CLR versions introduced with framework versions 4.5 -> 4.5.1 ->4.5.2 ... This means any website developed using framework v4.5/v4.5.1/v4.5.2 target CLR version 4 and hence use Application Pool version 4.0 如下表所示,框架版本4.5 -> 4.5.1 ->4.5.2 ...中没有新的CLR版本4.5 -> 4.5.1 ->4.5.2 ...这意味着使用框架v4.5/v4.5.1/v4.5.2目标CLR开发的任何网站版本4 ,因此使用应用程序池版本4.0

The .NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR ( CLR 2.0 ). .NET Framework版本2.0, 3.0, and 3.5使用相同版本的CLR( CLR 2.0 )构建。 These versions represent successive layers of a single installation. 这些版本代表单个安装的连续层。 Each version is built incrementally on top of the earlier versions. 每个版本都是在早期版本之上逐步构建的。 And therefore you will see Application Pool v2.0 for these frameworks. 因此,您将看到这些框架的Application Pool v2.0

In short, 简而言之,

Framework Version != App Pool Version 框架版!=应用程序池版本

App Pool Version = CLR Version 应用程序池版本= CLR版本

CLR Version = Folders at location: C:\\Windows\\Microsoft.NET\\framework CLR版本= 位置的文件夹:C:\\ Windows \\ Microsoft.NET \\ framework

在此输入图像描述

The version folders at location C:\\Windows\\Microsoft.NET\\framework contains the Compiler and Target build files for Asp.NET runtime 位于C:\\Windows\\Microsoft.NET\\framework的版本文件夹包含Asp.NET运行时的编译器和目标构建文件

是的,4.0池就像你希望的那样。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM