Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.net framework versions (or what runs what?)

OK, this is rather broad question but ... Is there a chart that says what version of the framework will run what?

So, I guess it brakes down into two questions

1 - Are the frameworks 100% backward compatible? I've had a Framework 2.0 Website run 1.1 dlls, so I assume 2.0 will run 1.1. Will this work for a windows app? Will it work for all versions?

2 - Is a framework ever forward compatible? I know the reverse of above will not work but will it work for any set of versions?

So, how important is it to keep the versions on your clients' machines synced with your build version?

Is there a best pratice in the .net community on how to make your software work for the most number of clients without forcing non-technical users to download newer/different versions of the .net framework?

like image 478
saunderl Avatar asked Jul 15 '10 03:07

saunderl


People also ask

What version of .NET Framework is running?

Navigate to the Control Panel (Click here for instructions on how to access the Control Panel on Windows 10, 8, and 7 machines) Select Programs and Features (or Programs) In the list of installed applications, locate "Microsoft . NET Framework" and verify the version in the Version column to the right.

Which version of .NET Framework should I use?

A cross-platform and open-source framework, . NET Core is best when developing applications on any platform. . NET Core is used for cloud applications or refactoring large enterprise applications into microservices. You should use .

Which are .NET frameworks?

NET Framework is a software development framework for building and running applications on Windows. . NET Framework is part of the . NET platform, a collection of technologies for building apps for Linux, macOS, Windows, iOS, Android, and more.


1 Answers

As a rule of thumb, if .NET version X installs side-by-side with .NET version Y, then .NET version X is not compatible (backwards or forwards) with .NET version Y. This is a rule I've been using for quite some time (since .NET 2.0 came out). It's probably too safe for small-scale applications, but it's better to be safe than sorry.

Here are some concrete examples:

  • .NET 4.0 will not run .NET 3.x or earlier applications properly
  • .NET 3.5 will run .NET 3.0 & .NET 2.0 applications, but not .NET 1.1
  • .NET 3.0 will run .NET 2.0 applications, but not .NET 1.1
  • .NET 2.0 will not run .NET 1.1

  • .NET 4.0 installs side-by-side with .NET 3.5/3.0/2.0 and with .NET 1.1

  • .NET 3.5, 3.0, and 2.0 do not install side-by-side with each other
  • .NET 3.5/3.0/2.0 installs side-by-side with .NET 1.1

Hope this helps.

like image 121
dacris Avatar answered Sep 26 '22 00:09

dacris