从 4.6.2 升级到 4.7.1,现在 none 我的控制台应用程序将 运行

Upgraded from 4.6.2 to 4.7.1 and now none of my console apps will run

我刚刚将所有 .NET console/ASP.NET 应用程序从 4.6.2 升级到 4.7.1。 ASP.NET 应用程序运行良好,但 运行 我的任何控制台应用程序都会导致以下消息:

此应用程序需要以下 .NET 框架版本之一: .NETFramework,版本=v4.7.1

是否要立即安装此 .NET Framework 版本?

为什么我只收到控制台应用程序的这条消息?

看看你的app.config。特别是 <supportedRuntime> 元素。

<supportedRuntime version="runtime version" sku="sku id"/>

sku 属性是可选的。也许您的值是 .NETFramework,Version=v4.7.1,这意味着您专门针对 .NET 4.7.1 框架。

我终于弄明白了。出于某种原因,VS 2017 只安装了 4.7.1 目标包,而不是 开发人员 pack/SDK。在实际安装开发人员包之后,我现在可以 运行 我的控制台应用程序而无需从我的 app.config.

中删除 sku=".NETFramework,Version=v4.7.1"

在此之前,我也无法使用新值元组,但奇怪的是,我能够使用其他功能,例如在方法中声明具体方法(而不是使用 ActionFunc) 和 expression-bodied 构造函数。不知道那是怎么回事。

以上方法我都试过了,都不行。清理构建没有区别。

然后我在解决方案资源管理器中搜索 Bin 文件夹并删除了每一个。 我也对 obj 文件夹做了同样的事情,然后进行了重建,瞧,所有问题都消失了。我记得用技巧修复了一个 MVC 升级,我想是从 v3 到 v4。

我只希望错误消息不要那么隐晦!!!!