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

时间:2019-02-11 14:34:27

标签: c# server compiler-errors

没有重复/在其他线程中没有答案 由于服务器上已经安装了4.7.2,我没有遇到任何上述重复的问题。< / em>

我有一个编译为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行):

source

如果我打开命令提示符并转到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

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

编辑:错误页面(在localhost下运行时)报告此版本信息:4.7.2053.0

编辑2:我将项目中的所有解决方案都降级到4.7版,这似乎已经解决了该问题。我不知道为什么,因为服务器会给出所有表明已安装4.7.2的指示。

1 个答案:

答案 0 :(得分:0)

Microsoft以其无限的版本管理能力,认为我看到的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。