gpt4 book ai didi

c# - ASP.NET MVC 5 web.config 编译 & httpRuntime 错误

转载 作者:太空狗 更新时间:2023-10-29 22:32:13 25 4
gpt4 key购买 nike

当我将我的 mvc 应用程序部署到我的 IIS 7 服务器时,它在 web.config 文件中具有以下内容:

  <system.web>
<compilation targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
</system.web>

编译和 httpRuntime 标签给我以下错误:

解析器错误消息:Web.config 文件元素中的“targetFramework”属性仅用于目标版本 4.0 及更高版本的 .NET Framework(例如,“”)。 “targetFramework”属性当前引用的版本高于已安装的 .NET Framework 版本。指定 .NET Framework 的有效目标版本,或安装所需版本的 .NET Framework。

所以为了好玩,我删除了编译和 httpRuntime 标签,然后网站就可以完美运行了!服务器上有 4.5.1。我猜这与应用程序池有关,但看起来应用程序池中的唯一选项是:无托管代码、.NET Framework v2.0、.Net Framework v4.0。没有 v4.5 或 v4.5.1 的选项。现在它设置为 v4.0。

我真的不明白编译和 httpRuntime 的用途以及为什么它们甚至在我的 web.config 中,因为我没有明确地将它们放在那里。

最佳答案

Microsoft 更新 .NET Framework 有两种方式:

  • 并行发布,就像 v1.1、2.0、4
  • 增强,就像 3、3.5、4.5

这意味着当您安装 .NET 4.5 时,v4.0 文件夹会更新为包含 .NET 4.5 文件。

IIS 仅显示并排版本,不显示增强功能。由于4.5是增强,所以应用到v4.0的framework文件夹中。这也解释了为什么您只看到 .NET Framework v2.0 和 .Net Framework v4.0 作为 IIS 应用程序池下的选项。

至于targetFramework属性,只有framework 4.0可以识别,之前的没有。

targetFramework 属性有两个作用:

  • 它控制公共(public)语言运行时的怪癖模式行为
  • 它作为一种快捷方式,允许 ASP.NET 运行时推断各种配置设置

删除属性确实解决了您的问题,但这并不是最健康的做法。我认为您应该检查服务器上安装了哪些框架更新的服务器注册表,检查该网站是否也配置为适用于框架 4。

关于c# - ASP.NET MVC 5 web.config <system.web> 编译 & httpRuntime 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23634239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com