This application requires one of the following versions of .NET Framework

Kajiyama picture Kajiyama · May 29, 2017 · Viewed 21.9k times · Source

I am trying to migrate our application to the newer version of .NET Framework. From current version of 4.5 to 4.6.1

Reason, why we are migrating to version 4.6.1 instead of 4.7 or 4.6.2 is, that most of our users and developers do have Windows 10 November update and based on information from .NET Framework System Requirements, .NET Framework 4.6.1 should be preinstalled in this version of Windows by default. This would leave us without any needs for users to download any kind of update.

The problem we are facing is, that every time we run our application following error message is displayed:

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?

I have also checked what version of .NET Framework is listed in registry following MSDN's article: How to: Determine Which .NET Framework Versions Are Installed

The Registry value is 394806 which should actually be even .NET Framework 4.6.2

Any ideas how to solve this issue and what may cause it? I do not want users to be forced to install the update as it should be part of OS anyway.

Answer

Skyler Nesheim picture Skyler Nesheim · Jul 28, 2017

We recently came across a similar problem. When starting a service, we received the error "This application requires one of the following versions of .NET Framework:"

We discovered the issue was our misunderstanding of how to update the app.config file.

We had changed the app.config file to set <supportedRuntime version="v4.7" sku=".NETFramework,Version=v4.7" />

But should have set it to <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />

We had incorrectly set the major version of .NET as explained in https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element#version