gpt4 book ai didi

c# - 如何修复Server 2016上的定位错误?

转载 作者:行者123 更新时间:2023-12-02 10:46:06 24 4
gpt4 key购买 nike

不是重复的/未在其他线程中回答 由于我已经在服务器上安装了4.7.2,因此所指示的重复项都不是我遇到的问题。

我有一个编译为4.7.2的应用程序(wcf服务)。解决方案中的所有项目都针对该框架版本。

在服务器(Windows Server 2016)上,已安装Framework 4.7.2(在错误页面中报告为ASP.NET版本:4.7.3282.0)

当我浏览到WCF服务时抛出的错误:

Web.config文件元素中的'targetFramework'属性仅用于目标版本4.0和更高版本的.NET Framework(例如,'')。 “targetFramework”属性当前引用的版本晚于已安装的.NET Framework版本。指定.NET Framework的有效目标版本,或安装所需的.NET Framework版本。

这是Web配置中指示的错误行(错误位于第25行):

Line 23: </appSettings>
Line 24: <system.web>
Line 25: <compilation targetFramework="4.7.2" />
Line 26: <httpRuntime targetFramework="4.7.2" />
Line 27: <customErrors mode="Off" />

如果我打开命令提示符并转到 c:\windows\microsoft.net\framework64\v4.0.30319目录并运行 msbuild -version,它将响应
4.7.2053.0

我尝试更改一些应用程序池设置无济于事。有人有想法吗?

编辑:错误页面(在localhost下运行时)报告此版本信息: Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.3282.0
编辑2:我将项目中的所有解决方案都降级到4.7版,这似乎已经解决了问题。我不知道为什么,因为服务器会给出所有表明已安装4.7.2的指示。

最佳答案

微软以其无限的版本管理能力,认为我所见的MS Build版本(4.7.2053.0)实际上是Framework版本4.7。此外,错误页面上指示的版本(4.7.3282.0)实际上是ASP.NET版本,与框架版本不同。

因此,尽管有种种迹象表明我使用的是4.7.2版本(包括我们的服务器管理员所说的),但实际上我们的版本是4.7。

一旦安装了4.7.2版,一切就可以正常进行。

要检查的一件事是已安装的实际发行版:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework安装程序\ NDP \ v4 \ Client

对于4.7.2,Release键的值应为461814。

关于c# - 如何修复Server 2016上的定位错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54632865/

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