此应用程序需要以下版本的.NET Framework之一

我正在尝试将我们的应用程序迁移到较新版本的.NET Framework。 从当前版本4.5到4.6.1

原因,我们迁移到版本4.6.1而不是4.7或4.6.2的原因是,我们的大多数用户和开发人员都有11月11日更新,并且基于.NET Framework系统要求 ,.NET Framework 4.6.1中的信息默认情况下应该在此版本的Windows中预安装。 这将使我们不需要用户下载任何类型的更新。

我们面临的问题是,每次我们运行应用程序时都会显示错误消息:

此应用程序需要以下版本的.NET Framework之一:.NETFramework,Version = v4.6.1

您想立即安装此.NET Framework版本吗?

我还检查了MSDN文章中的注册表中列出的.NET Framework版本 : 如何:确定安装了哪些.NET Framework版本

注册表值为394806 ,实际上应该是.NET Framework 4.6.2

任何想法如何解决这个问题以及可能导致什么? 我不希望用户被迫安装更新,因为它应该是操作系统的一部分。

我们最近遇到了类似的问题。 启动服务时,我们收到错误“此应用程序需要以下版本的.NET Framework之一:”

我们发现问题是我们对如何更新app.config文件的误解。

我们更改了app.config文件以设置

但应该将其设置为

我们错误地设置了.NET的主要版本,如https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element#version中所述。

应用新的Windows Insider版本后,我今天在SourceTree上遇到了同样的错误,不同之处在于SourceTree需要4.7.1。

我发现version号是正确的4.0但是,根据@Skyler Nesheim的回答,我更改了另一个属性sku
将是
这使它工作。

如何编译应用程序以定位.NET标准库 ? 这消除了对特定.NET框架版本的需要,但允许任何实现特定.NET标准库的.NET框架安装来运行应用程序。