我已使用 Visual Studio 2019 将 ASP.NET 网站应用程序从 .NET Framework 4.0 升级到 4.8。我使用 web.config 中的以下配置将该应用程序部署到 IIS:
<compilation debug="true" targetFramework="4.8" />
此设置足以让我的网站为客户正常运行吗? 我在某处读到我还需要设置 httpRuntime 标记而不仅仅是编译标记,如下所示:
<httpRuntime targetFramework="4.8" />
如果我跳过这个httpRuntime设置,那么应用程序将在IIS的客户端和服务器端运行什么框架?我想服务器会使用4.8的编译标签设置来编译和运行网站,但是客户端呢?
如果我跳过此 httpRuntime 设置并且客户端的 .NET 运行时框架低于 4.8(可能是 4.5),那么这是否会在浏览器中产生错误?如果是,那么如何修复呢?在这种情况下我应该添加较低框架的 httpRuntime 设置吗?像这样:
<httpRuntime targetFramework="4.5" />
当然还要加上编译标签?
我可以省略编译标签,只保留httpRuntime吗?或者这会导致我的网站应用程序无法在服务器上编译?
基于此博客的信息:
<httpRuntime targetFramework="4.8" />
用于配置 CLR 的怪异模式(它也会默认 compilation
的 targetFramework
属性**)。
<compilation targetFramework="4.8" />
用于设置编译期间使用哪些.NET Framework
参考程序集。
虽然
<httpRuntime targetFramework="4.8" />
将默认为 <compilation targetFramework="4.8" />
,但 Visual Studio 将仅检查 <compilation targetFramework="4.8" />
以确定要使用哪些引用程序集,因此通常建议您在两个元素中设置属性,以便同时激活适当的 .NET CLR 怪癖模式,以便 Visual Studio 将针对适当的参考程序集进行编译。