.NET Framework 3.0?

R

Ronald S. Cook

I think I heard that .NET Framework 3.0 is out. How will that work.. having
both 2.0 and 3.0 on my PC? I.e. how will I know to which framework a given
namespace is corresponding? Or, is there some setting that states which
framework version my Visual Studio is using?

Thanks,
Ron
 
D

Dustin Campbell

I think I heard that .NET Framework 3.0 is out. How will that work..
having both 2.0 and 3.0 on my PC? I.e. how will I know to which
framework a given namespace is corresponding? Or, is there some
setting that states which framework version my Visual Studio is using?

..NET Framework 3.0 is simply a set of additional assemblies that are built
on top of .NET 2.0. It doesn't replace .NET 2.0, it builds on it. The same
2.0 CLR is in place and types from 2.0 still use the 2.0 assemblies.

Best Regards,
Dustin Campbell
Developer Express Inc.
 
G

Guest

IMHO, 3.0 should be called 2.5 and what is going to be called 3.5 should be
3.0. There is not a major change in 3.0 that requires the major version
number to be incremented. I think MS made this very cofusing.
 
D

Dustin Campbell

IMHO, 3.0 should be called 2.5 and what is going to be called 3.5
should be 3.0. There is not a major change in 3.0 that requires the
major version number to be incremented. I think MS made this very
cofusing.

Well, 3.5 is still built on CLR 2.0. So, wouldn't that still be confusing
if they called it 3.0?

Best Regards,
Dustin Campbell
Developer Express Inc
 
J

Jon Davis

I disagree. Apps targeting v3 will not run on v2 environments. Apps
targeting v3 will also utilize very significant new features in the
Framework that are not offered in v2. Whereas, LINQ in v3.5 is not
significant enough to warrant a major version change.

The fact that v3 is built on v2 is irrelevant to the numbering scheme; if
..NET did not isolate the assemblies so well and .NET Framework was one big,
ugly DLL, no one would be complaining.

Jon
 
D

Dustin Campbell

I disagree. Apps targeting v3 will not run on v2 environments. Apps
targeting v3 will also utilize very significant new features in the
Framework that are not offered in v2. Whereas, LINQ in v3.5 is not
significant enough to warrant a major version change.

The fact that v3 is built on v2 is irrelevant to the numbering scheme;
if .NET did not isolate the assemblies so well and .NET Framework was
one big, ugly DLL, no one would be complaining.

Great points.

Part of the problem is that, up until C# 2.0, Microsoft stayed in sync for
the most part with C#, the .NET runtime and the Base Class Library. That's
what most people find confusing. However, it's important to note that not
everything has been in sync. For example, VB is currently at 8.0.

With the release of .NET 3.5 (if that's what its called at RTM) will have
the following major/minor versions:

CLR - 2.0
BCL - 2.0
C# - 3.0
Additional assemblies that target WinFX and LINQ - 3.5
VB - 9.0

Everyone needs to keep in mind that the CLR, BCL and C# are really "in sync"
with the ECMA standards -- not the Microsoft .NET releases. .NET Framework
3.0 and 3.5 don't actually require any changes to the CLR or the BCL. C#
3.0 is a language update that takes advantage of the .NET Framework 3.5 libraries
and adds some other cool features. However, it is not technically needed
to use the libraries -- C# 2.0 would suffice.

Best Regards,
Dustin Campbell
Developer Express Inc.
 
J

Jon Davis

Not to distract from your points in a severe and perhaps annoying tangent,
but ...
For example, VB is currently at 8.0.

Except that VB.NET v2002 was really v1, no matter how many version numbers
Microsoft skipped. VB died at v6; VB.NET and VB 2005 are two generations of
a different language. The side-effect of the confusion is Java-turned-C#
bigots still think people who know VB.NET are losers.
Everyone needs to keep in mind that the CLR, BCL and C# are really "in
sync" with the ECMA standards -- not the Microsoft .NET releases. .NET
Framework 3.0 and 3.5 don't actually require any changes to the CLR or the
BCL. C# 3.0 is a language update that takes advantage of the .NET
Framework 3.5 libraries and adds some other cool features. However, it is
not technically needed to use the libraries -- C# 2.0 would suffice.

Interesting point, but even more interesting is what the situation infers,
that this won't change down the road much, if ever; C# 2.0 was actually done
right all along so no real need for a revision. The new 3.5 features don't
deprecate 2.0 but enhance 2.0.

On the other hand, I'm sure Microsoft will look for ways to optimize the
performance of the CLR on Windows Vista and XNA, where native API tie-ins
will also be optimized. These will entail a version revision at some point,
but I must admit I'm impressed that Microsoft got by this far without yet
another system rewrite.

Jon
 
G

Guest

I'm glad I could turn the conversation into something totally not what the
original question was. This was very interesting.
 
D

Dustin Campbell

On the other hand, I'm sure Microsoft will look for ways to optimize
the performance of the CLR on Windows Vista and XNA, where native API
tie-ins will also be optimized. These will entail a version revision
at some point, but I must admit I'm impressed that Microsoft got by
this far without yet another system rewrite.

I expect this to happen as well but it will likely be in the form of a service
pack since no new metadata or IL instructions would be necessary.

Best Regards,
Dustin Campbell
Developer Express Inc.
 
C

chanmm

Ronald,

I do understand how you feel, confuse basically. I think many people out
there still unsure like "hey, how WCF work in VS 2005, how WPF work in VS
2005" and so. I expect to see new samples from Microsoft site on how to make
use of .Net framework 3.0 in VS 2005. Let's see.

chanmm
 
R

Ronald S. Cook

Yeah, but how do I tell my Visual Studio 2005 project which version of the
framework I want to use. For example, I currently have the 1.1 and 2.0
framework in my PC. When I create a new VS project and then look at my
references (e.g. System.Data), it says 2.0. How would I force my project to
use the 1.1 framework only (if I needed to)?

Thanks,
Ron
 
M

Marc Gravell

How would I force my project to
use the 1.1 framework only (if I needed to)?

MSBee, but the easier answer is "use VS2003"...

More on topic... does anybody know if/how the new components deploy?
I'm *guessing* (untested) that simply shipping the 3.0 dll via
ClickOnce won't do the job... in which case the 3.0 distinction is
quite a useful reminder that it won't work without a client install. Of
course, not everything does deploy this easily... and there are other
major issues in picking the version... I might have gone with 2.<x>
myself, but I don't work at MS and know nothing of the internal
discussions on the numbering. I just hope (possibly futile) that it was
led by the technical teams, and not the marketing teams...

Marc
 

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