此应用程序需要以下版本之一的 .NET Framework
This application requires one of the following versions of .NET Framework
我正在尝试将我们的应用程序迁移到更新版本的 .NET Framework。从当前版本 4.5 到 4.6.1
我们迁移到版本 4.6.1 而不是 4.7 或 4.6.2 的原因是,我们的大多数用户和开发人员确实有 Windows 11 月 10 日的更新,并且基于来自 [=11 的信息=], .NET Framework 4.6.1 应默认预装在此版本 Windows 中。
这将使我们不需要用户下载任何类型的更新。
我们面临的问题是,每次我们 运行 我们的应用程序都会显示以下错误消息:
This application requires one of the following versions of .NET Framework:
.NETFramework,Version=v4.6.1
Do you want to install this .NET Framework version now?
我还根据 MSDN 的文章检查了注册表中列出的 .NET Framework 版本:How to: Determine Which .NET Framework Versions Are Installed
注册表值为 394806,实际上应该是 .NET Framework 4.6.2
关于如何解决这个问题以及可能导致它的原因有什么想法吗?我不希望用户被迫安装更新,因为无论如何它都应该是 OS 的一部分。
我们最近遇到了类似的问题。启动服务时,我们收到错误 "This application requires one of the following versions of .NET Framework:"
我们发现问题是我们对如何更新 app.config 文件的误解。
我们更改了 app.config 文件以设置
<supportedRuntime version="v4.7" sku=".NETFramework,Version=v4.7" />
但应该设置为
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
我们错误地设置了 .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
,从
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" />
成为
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
这让它发挥了作用。
以防其他人遇到此问题,我遇到了与 windows 服务类似的问题,该服务由于据称缺少 .NET Framework 4.6 版而无法启动。就我而言,由于复制和粘贴,配置文件中发生了以下情况:
<supportedRuntime version="v4.0" sku=".NETFramework, Version = v4.6"/>
而以下工作:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
所以,空格是罪魁祸首,绝不能存在!为什么我不知道,因为您希望解析器不那么挑剔,但是好吧...
以防其他人使用 4.7.2 遇到此问题,并且 none 其他解决方案有效:对我们有效的解决方案是在有问题的服务器上更新到 4.7.3(服务本身可以当然还是以4.7.2为目标)。
我正在尝试将我们的应用程序迁移到更新版本的 .NET Framework。从当前版本 4.5 到 4.6.1
我们迁移到版本 4.6.1 而不是 4.7 或 4.6.2 的原因是,我们的大多数用户和开发人员确实有 Windows 11 月 10 日的更新,并且基于来自 [=11 的信息=], .NET Framework 4.6.1 应默认预装在此版本 Windows 中。 这将使我们不需要用户下载任何类型的更新。
我们面临的问题是,每次我们 运行 我们的应用程序都会显示以下错误消息:
This application requires one of the following versions of .NET Framework: .NETFramework,Version=v4.6.1
Do you want to install this .NET Framework version now?
我还根据 MSDN 的文章检查了注册表中列出的 .NET Framework 版本:How to: Determine Which .NET Framework Versions Are Installed
注册表值为 394806,实际上应该是 .NET Framework 4.6.2
关于如何解决这个问题以及可能导致它的原因有什么想法吗?我不希望用户被迫安装更新,因为无论如何它都应该是 OS 的一部分。
我们最近遇到了类似的问题。启动服务时,我们收到错误 "This application requires one of the following versions of .NET Framework:"
我们发现问题是我们对如何更新 app.config 文件的误解。
我们更改了 app.config 文件以设置
<supportedRuntime version="v4.7" sku=".NETFramework,Version=v4.7" />
但应该设置为
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
我们错误地设置了 .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
,从
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" />
成为
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
这让它发挥了作用。
以防其他人遇到此问题,我遇到了与 windows 服务类似的问题,该服务由于据称缺少 .NET Framework 4.6 版而无法启动。就我而言,由于复制和粘贴,配置文件中发生了以下情况:
<supportedRuntime version="v4.0" sku=".NETFramework, Version = v4.6"/>
而以下工作:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
所以,空格是罪魁祸首,绝不能存在!为什么我不知道,因为您希望解析器不那么挑剔,但是好吧...
以防其他人使用 4.7.2 遇到此问题,并且 none 其他解决方案有效:对我们有效的解决方案是在有问题的服务器上更新到 4.7.3(服务本身可以当然还是以4.7.2为目标)。