【问题标题】:How to fix targeting error on Server 2016?如何修复 Server 2016 上的定位错误?
【发布时间】:2019-02-11 14:34:26
【问题描述】:

不是重复的/在其他线程中没有回答 由于我已经在服务器上安装了 4.7.2,所以没有指定的重复是我遇到的问题。

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

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

浏览到 WCF 服务时引发的错误:

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

这是来自网络配置的指示错误行(错误在第 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 的所有指示。

【问题讨论】:

标签: c# server compiler-errors


【解决方案1】:

Microsoft 以其无限的版本控制智慧认为我看到的 MS Build 版本 (4.7.2053.0) 实际上是 Framework 版本 4.7。更何况,错误页面显示的版本(4.7.3282.0)其实是ASP.NET版本,和framework版本不同。

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

安装 4.7.2 版后,一切正常。

要检查的是实际安装的版本:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client

对于 4.7.2,Release 键的值应该是 461814。

【讨论】:

    猜你喜欢
    • 2014-04-04
    • 2022-08-22
    • 2010-09-10
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2020-12-02
    相关资源
    最近更新 更多