Understanding .NET versions -- for a non-programmer

B

Bryan L

I'm an Administrator/IT Manager. Athough I dabbled in Basic and Pascal
programming years ago as a kid, I am absolutely not a programmer.

I'm looking for a high-level overview of the .NET versions and how they all
relate (or don't) to each other. For example, I know .NET 1.1 and 2.0 are
separate components and that .NET 2.0 is not a "backward-compatible upgrade"
of .NET 1.1. But beyond v2.0, I'm unclear as to the relationships and
depedencies of dotNET versions. I have to support a number of
mission-critical apps running on various .NET versions, and in working with
some of their vendors' support departments I've been told things that made
me question my understanding of .NET.

For example, I think I was working to get a new .NET-based web app installed
when a support rep (or a poster in a NG) told me to remove .NET 2.0, install
3.0, and I'd be able to configure those web apps to use ASP v2.0. and it
wouldn't break anything. That seemed to contradict my understanding of the
relationships between .NET versions (that they are independent of one
another). So I'm looking for more information -- not because I'm going to
program in .NET, but because I think I need to better understand what I'm
administering, and what my options are when I'm planning how to deploy
something new into my existing environment.

I've googled various terms without finding the kind of high-level overview
I'm looking for, which is why I've come here. I'm looking either for
someone kind enough to provide answers, or for suggestions on where/how to
study. I'm happy to read and learn about this on my own, I just need to
find stuff written for my particular audience -- most of the stuff I've
found is aimed at developers.

Thanks in advance!

BJ
 
S

Scott M.

Hi BJ,

Each version of the .NET Framework includes code libraries, a common
runtime, and language compilers. Each version can exist along side of the
others (ie. there's no need to uninstall one to be able to use the other).
This is also valuable in scenarios where you have different applications,
each written for a specfic version of the Framework and you need to have
those different applications be able to run on their respective Framework.

The one exception to how the Frameworks are set up is the 3.x versions.
These versions contain additional code libraries and features that sit "on
top" of the 2.0 Framework. So, if you want to use any of the 3.x stuff, you
MUST have the 2.0 Framework installed first. Removing it (as was suggested
to you) will NOT allow you to use ASP .NET 2.0.

Generally speaking, there should be no reason for you to uninstall any past,
current or future version of the .NET Framework. Having older versions on
your system does not mean that they *must* be used, but it does give you the
opportunity to target it if needed.

Also, the most common development environment for building .NET applications
is Visua Studio .NET. Each of the Visual Studio versions creates code and
compiles that code for a specific version of the Framework as indicated
below:

VS .NET 2002 ---> 1.0 Framework
VS .NET 2003 ---> 1.1 Framework
VS 2005 ----> 2.0 Framework
VS 2008 ----> 3.5 Framework

While it is possible to use a particular version of VS to write code that
will intentionally target a previous version of the Framework to run
against, you must be careful that the new code doesn't contain
calls/references to non-existant features in the earlier .NET Framwork that
is being targetted.

Hope this helps.

-Scott
 
N

Norman Yuan

Orignally .NET version independence and allowing versions side-by-side
indtallation was regarded as one of beauties of .NET framework. And yes, it
was the case with 1.0, 1.1 and 2.0. With them, you can choose to install all
of them or install only the latest version.

However, MS chose to make things as confusing as possible by making 3.0 as
2.0 add-on, and since almost no one actually did development with 3.0
(because no matching VS available), now the version jump to 3.5 (where is
3.1, 3.2 3.3 or 3.4? who knows), as 2.0SP1's add-on (do you also need 3.0
installed for 3.5? I do not know). So, since 3.0, there is no such thing as
side-by-side installation any more. If you have followed MS' .NET track
since its begining, you may be able to tell all the difference of the
versions. If you just started with .NET, you should feel being confused. To
make it simpe and safer, always install latest .NET framework, most app
developed with earlier version of .NET would work with newest version of
..NET framework, at least theoretically.
 
J

Jon Skeet [C# MVP]

Norman Yuan said:
Orignally .NET version independence and allowing versions side-by-side
indtallation was regarded as one of beauties of .NET framework. And yes, it
was the case with 1.0, 1.1 and 2.0. With them, you can choose to install all
of them or install only the latest version.

However, MS chose to make things as confusing as possible by making 3.0 as
2.0 add-on, and since almost no one actually did development with 3.0
(because no matching VS available), now the version jump to 3.5 (where is
3.1, 3.2 3.3 or 3.4? who knows), as 2.0SP1's add-on (do you also need 3.0
installed for 3.5? I do not know)

Yes, 3.0SP1 is part of 3.5.
 
P

Patrice

3.0 is 2.0 plus additional components so removing 2.0 before installing 3.0
is not needed as 3.0 will reinstall 2.0.

Basically the idea is that :
- you NEVER have to remove a particular version. Each new version installs
side by side with the previous one i.e. you can on a single PC have 1.0,
1.1, 2.0, 3.0 and 3.5 and each application will use whatever it needs...
 
N

Norman Yuan

Great! 3.5 need 3.0 (SP1), and then 3.0 needs 2.0. Nothing could be more
confusing than this. Since teh 3.x version has been a fact (very bad
decision), MS could have package whole thing in 3.0, 3.5, even many
files/compononts/library are the same as 2.0, considering huge and cheap
storage (hard drive) available to new computers. So that most user sonly
need to install latestand single VERSION. When there is specific need, they
can do real side-by-side installation.
 
P

Patrice

MS done this packaging thing that is 3.0 and 3.5 *is* 2.0 plus additional
and more additional stuff. What I mean is that you don't have to install
first 2.0 as it will be installed as part of the 3.0 or 3.5 installation
process...

So for now the rules are IMO :
- if you need a particular version, installs this specific version (and the
setup will install whatever else is needed)
- you never have to uninstall anything

The only potential problem I see is that 3.0 installs 2.0 SP1 and 3.5
installs 3.0 SP1 (also available as separate downloads) which could
introduce possible discrepancies between 2.0 only and 3.x installations...

So this is already true, you could start by installing just the last package
(ie. you'll have 3.0, 3.5 that is 2.0 plus 2.0 is able to run 1.0 and 1.1
application if they don't run into a breaking compatibility change).

Then you can install 1.0 or 1.1 if you run into a specific issue.

--
Patrice

Norman Yuan said:
Great! 3.5 need 3.0 (SP1), and then 3.0 needs 2.0. Nothing could be more
confusing than this. Since teh 3.x version has been a fact (very bad
decision), MS could have package whole thing in 3.0, 3.5, even many
files/compononts/library are the same as 2.0, considering huge and cheap
storage (hard drive) available to new computers. So that most user sonly
need to install latestand single VERSION. When there is specific need,
they can do real side-by-side installation.
 
N

Norman Yuan

The packaged intallation is different from packaging a complete independent
version, such as 1.0/1.1/2.0. When you tell a client, or your boss that you
only need .NET 3.5, and the beauty of .NET side-by-side installation, you
would be questioned on why there is 2.0/3.0 installed, and worse yet,
someone could try to remove 2.0 and 3.0, since he can definitely remove 1.x
at will, becuase the .NET philosophy says latest version is enough.
personally I understand the version mess well, but there are lot non-.NET
developers get confused a lot, such as OP, even they are seasoned IT
workers.


Patrice said:
MS done this packaging thing that is 3.0 and 3.5 *is* 2.0 plus additional
and more additional stuff. What I mean is that you don't have to install
first 2.0 as it will be installed as part of the 3.0 or 3.5 installation
process...

So for now the rules are IMO :
- if you need a particular version, installs this specific version (and
the setup will install whatever else is needed)
- you never have to uninstall anything

The only potential problem I see is that 3.0 installs 2.0 SP1 and 3.5
installs 3.0 SP1 (also available as separate downloads) which could
introduce possible discrepancies between 2.0 only and 3.x installations...

So this is already true, you could start by installing just the last
package (ie. you'll have 3.0, 3.5 that is 2.0 plus 2.0 is able to run 1.0
and 1.1 application if they don't run into a breaking compatibility
change).

Then you can install 1.0 or 1.1 if you run into a specific issue.
 
P

Patrice

Humm... I'm not sure which version scheme would have been clearer. If I
remember it was changed because most people were frightened that they had to
change all their existing 2.0 code with those new WPF features ;-) 3.0 is
better to convey the idea that you can adopt those new features at your own
pace and that your 2.0 code will still run unchanged...

We need perhaps some kind of quantum versioning theory inovation ;-)
 
S

sloan

//
told me to remove .NET 2.0, install
3.0, //

Then that person doesn't know what they're talking about.


3.0 is an "add on" for 2.0.

//Opinion//
MS should have called it "2.5", but they didn't.

//Opinion//
and MS should have called "3.5" ..."3.0"....and all of it would have made
more sense.



But the lines are

1.1
....................
2.0 (only)
...................
3.0 added onto 2.0 (2.0/3.0)
...................
3.5


//Opinion//
However, I wouldn't mess with uninstalling previous versions.


Now if you had a virgin computer ... and it had no frameworks...then you
could install 2.0 on it without 1.1.
And then you could add-on 3.0 (to the 2.0) on that same computer.

//Opinion//
But I wouldn't mess with uninstalling something. You'll probably end up
installing 1.1 over/after you installed 2.0 anyways.....and I would stick
with chronology if I could.



I tried to label my opinions carefully.......so seperate it from the more
concrete information.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top