ASP.NET下实际使用的是啥版本的.NET框架

Posted

技术标签:

【中文标题】ASP.NET下实际使用的是啥版本的.NET框架【英文标题】:What version of .NET framework is actually used under ASP.NETASP.NET下实际使用的是什么版本的.NET框架 【发布时间】:2020-08-14 02:30:42 【问题描述】:

假设我的应用程序池设置为“4.0.30319”。在 Visual Studio 中,我的项目设置为“.NET Framework 4.6.2”。

在我的web.config中,有一行:

<httpRuntime targetFramework="4.5" maxRequestLength="30720" executionTimeout="36000"/>

而4.8实际上是安装在运行ISS的服务器上。

现在假设在 4.7 中发布的行为发生了变化。我会在我的应用程序中看到新的行为吗?

【问题讨论】:

您在服务器上安装的最终运行时为 4.8,因此所有行为都应与 4.8 匹配。所有其他设置仅限制编译器使用较新的配置文件blog.lextudio.com/… 请忽略您的应用程序池设置,因为 IIS 应该改为“CLR 版本”。 【参考方案1】:

根据docs:

如果计算机上存在用于构建应用程序的 .NET Framework 版本,则应用程序在该版本上运行。

如果构建应用程序所依据的 .NET Framework 版本不存在,并且配置文件未在元素中指定版本,则应用程序将在当前存在的最新版本的 .NET Framework 上运行电脑。

如果构建应用程序的 .NET Framework 版本不存在,并且配置文件在元素中指定了版本,则应用程序在应用程序配置文件中指定的最新版本上运行,并且存在于电脑。

所以我会说 4.8,您始终可以使用以下方式以编程方式检查它:

Environment.Version

另外看看这个question。

【讨论】:

Environment.Version 不会直接告诉您使用的是哪个版本的 .NET Framework。它告诉您使用的是哪个版本的 CLR。要获取基于 Environment.Version 的 .NET Framework 版本,请阅读:***.com/questions/12971881/…

以上是关于ASP.NET下实际使用的是啥版本的.NET框架的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET和ASP的区别是啥?

ASP.NET是啥

ASP.NET / WCF / IIS 中静态变量的范围是啥?

asp.net是啥?

使用 asp.net 控件操作数据的一些数据访问选项是啥?

在 ASP.NET 中使用 Web API 优于 Web 方法的优势是啥