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

问题描述 投票:5回答:4

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

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

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

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

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

我还检查了MSDN文章后面的注册表中列出的.NET Framework版本:How to: Determine Which .NET Framework Versions Are Installed

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

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

c# asp.net .net .net-framework-version .net-4.6.1
4个回答
11
投票

我们最近遇到了类似的问题。启动服务时,我们收到错误“此应用程序需要以下版本的.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中所述


2
投票

应用新的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" /> ,这使它工作。


1
投票

如果其他人遇到这个,我有一个类似的问题与Windows服务无法启动,因为据称缺少.NET框架的4.6版本。在我的情况下,由于复制和粘贴,配置文件中发生了以下情况:

<supportedRuntime version="v4.0" sku=".NETFramework, Version = v4.6"/>

而以下工作:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>

所以,空间是罪魁祸首,绝对不能存在!为什么我不知道,因为你希望解析器不那么挑剔,但好吧......


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.