IIS 中的 DLL 是在 web.config 中指定的 .NET 框架下加载的还是针对它们构建的?

问题描述

希望有人能帮我澄清一下。

我正在 IIS 中运行一个 ASP.NET 网站(确切地说是 DotNetNuke)。我还有一个模块安装在自定义构建的站点上。

我的 IIS web.config 指定了“4.5”的“targetFramework”(在 system.web/httpRuntime 元素下)。 我的自定义模块是使用“4.7.2”的目标框架构建的。

网站加载自定义模块时,它现在是否在 .NET 4.5 框架下运行,因为这是网站的 web.config 的目标?

解决方法

httpRuntime 中的 targetFramework 表示应用在 IIS 中运行时使用的是 Framework4.5 程序集。

即使应用程序在创建时选择了.NET 4.7,它仍然可以在.NET 4.5的环境下运行。 .NET 升级时将确保兼容性。只有升级大版本,才会出现不兼容的问题,比如.NET 3到.NET 4。

httpRuntime 的详细解释可以参考这个Microsoft blog