1

Is it possible to run an application created with asp.net 4.5 on a server running asp.net 4.7.1?

According to Microsoft's Application Compatibility Page, any application created for 4.0 runtime will run on Compatibility Mode. Does this mean that since runtime for 4.5 is the same for 4.7.1 that there will be no issues?

I foresee three outcomes. One, is that since the runtime version is the same for both 4.5 and 4.7.1, the server will run the code without any issues. Two, is that the server will run the code, but will have some issues due to the differences between 4.5 and 4.7.1. Third is that the server will outright not run the application.

Any clarification would be greatly appreciated. Thanks.

FDaniels
  • 23
  • 7
  • 2
    You will get either the first or the second case. The third is less likely to happen. Try it, before asking. – Lex Li Jan 23 '18 at 01:41
  • 1
    We did end up testing on an extra server that we had and so far there are no issues. My concern is actually more towards the first two cases. It's hard to test all use cases that may trigger the differences between the two. There is a list of differences btwn 4.5 and 4.7.1 that Microsoft lists, but it doesn't say if it affects already compiled 4.5 proj or or 4.5 projs moving to 4.7 – FDaniels Jan 23 '18 at 17:14
  • "It doesn't say"? It does. All differences between 4.5 and 4.7.1 (unless new APIs) would affect already compiled assemblies, and that's a common knowledge for years (starting from .NET Framework 1.1). – Lex Li Jan 23 '18 at 18:35
  • 1
    After more research, I found a [MS doc](https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/index) that said that any application after 4.5 will run in it's compile target version. [MS](https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies) also states that 4.5 and above will include the the newer versions of ASP.NET in the installation. Looks like it will run as 4.5 until recompiled. – FDaniels Jan 23 '18 at 19:03
  • 1
    Microsoft never says "any application after 4.5 will run in its compile target version", and the other statement. No matter what is the target framework your web app is compiled against, when it is loaded at runtime by .NET Framework 4.7.1, the environment would be 4.7.1. General compatibility makes sure that many apps would run without a problem, but there can be breaking changes of behaviors in some areas. Those breaking parts are the things you need to verify and take actions. "Recompilation" is rarely necessary (if needed Microsoft would suggest in documentation). – Lex Li Jan 23 '18 at 20:13

0 Answers0