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

汤姆

没有重复/在其他线程中 没有答案,所指示的重复项都不是我遇到的问题,因为服务器上已经安装了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。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章