httpRuntime 与 web.config 中的编译 - ASP.NET 网站的目标框架

问题描述 投票:0回答:1

我已使用 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吗?或者这会导致我的网站应用程序无法在服务器上编译?

asp.net web-config .net-4.8 target-framework httpruntime
1个回答
0
投票

基于此博客的信息:

  • <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 将针对适当的参考程序集进行编译。

© www.soinside.com 2019 - 2024. All rights reserved.