I have 2 versions of .NET, which is being used

G

Guest

I am developing .NET apps using Visual Studio.NET 2003, which, if I have
inderstood correctly, uses .NET framework V1.1. During a recent session on
Windows Update I was offered, and installed, an upgrade to .NET Framework
2.0. If I now look in Add And Remove Programs I see I have both frameworks
installed (plus something called Microsoft .NET Framework 1.1 Hotfix
KB886903).
I am a little confused as to which version of .NET framework I am now
running, and developing with. If I am actualy using .NET 2.0 then presumably
I need to test my software under 1.1 as well. Should I uninstall 2.0
temporarily for testing?
 
S

Stefan Simek

Dave said:
I am developing .NET apps using Visual Studio.NET 2003, which, if I have
inderstood correctly, uses .NET framework V1.1. During a recent session on
Windows Update I was offered, and installed, an upgrade to .NET Framework
2.0. If I now look in Add And Remove Programs I see I have both frameworks
installed (plus something called Microsoft .NET Framework 1.1 Hotfix
KB886903).
I am a little confused as to which version of .NET framework I am now
running, and developing with. If I am actualy using .NET 2.0 then presumably
I need to test my software under 1.1 as well. Should I uninstall 2.0
temporarily for testing?
No, the frameworks are designed to run side-by-side. When using VS2003,
framework 1.1 is used unless you explicitly specify otherwise in
application manifest. If you want to use 2.0, you need VS2005.

HTH,
Stefan
 
G

Guest

Thanks for clarifying that, Stephan. So presumably the only time the new
Framework 2.0 would get used would be if I were to install an application
that required it (can't be many of those about just yet), correct?
 
R

Richard Grimes

Dave said:
Thanks for clarifying that, Stephan. So presumably the only time the
new Framework 2.0 would get used would be if I were to install an
application that required it (can't be many of those about just yet),
correct?

yup.

Richard
 
S

Scott M.

As a matter of fact, there really aren't many commercially available
applications that are using .NET in the mainstream even though it has been
out for nearly 4 years now.

Most .NET development is either web based or commerically used. I suspect
you won't be able to go to your local CompUSA and buy a Windows application
written in .NET for some time (at least until Windows Vista has been out for
a while since it will have native .NET support)..

-Scott
 
L

Lloyd Dupont

That's a misleading statement.
I would state it otherwise: there are not that many new general public
application.
Looking at the health of the thriving .NET community I gather there are many
..NET application used internally arount there.

However I'm using Paint.NET (general public, .NET1.1), Virtual Earth from
NASA (.NET1.1, general public), an RSS reader (.NET1.1 general public)

And my soon to be CooksCompanion (general public, .NET2.0, home project) and
NovaMind for windows (home project, .NET2.0, general public)


Also you could program in .NET in Word & Excel 12. They are native
application themselves (no point in wasting resource in rewritting in
managed code an existing 20 years old native application), but they support
managed extensibility.
 
S

Scott M.

That's excatly what I said. I didn't say there weren't many .NET
applications out there. I said that for CONSUMER software, .NET use is
limited. The examples you cite aren't available at your local CompUSA.

My point being that although most XP users have some version of the
framework on their machines, they probably don't have any local apps on
their machines that use it.
 
R

Richard Grimes

Scott said:
As a matter of fact, there really aren't many commercially available
applications that are using .NET in the mainstream even though it has
been out for nearly 4 years now.

Most .NET development is either web based or commerically used. I
suspect you won't be able to go to your local CompUSA and buy a
Windows application written in .NET for some time

I agree. Even Microsoft are reluctant about writing code in .NET.
(at least until
Windows Vista has been out for a while since it will have native .NET
support)..

No it won't. See:

http://www.grimes.demon.co.uk/dotnet/vistaAndDotnet.htm

(I have taken results for build 5270, but not updated that article yet.
But basically 5270 has precious few .NET apps.)

Richard
 
S

Scott M.

I agree. Even Microsoft are reluctant about writing code in .NET.
(at least until Windows Vista has been out for a while since it will have
native .NET
support)..


(I have taken results for build 5270, but not updated that article yet.
But basically 5270 has precious few .NET apps.)

I'm not sure what it is you are saying here. That article just confirms
that Windows Vista *will* have native *support* for .NET and that is what I
said. I did not say that Windows Vista would be built to run as a .NET
application. What I meant was that if someone has Vista, then they can run
..NET apps. because .NET support is native to the OS, unlike .NET in XP,
which must be added as a Windows Update item.

-Scott
 
R

Richard Grimes

Lloyd said:
That's a misleading statement.
I would state it otherwise: there are not that many new general public
application.
Looking at the health of the thriving .NET community I gather there
are many .NET application used internally arount there.

However I'm using Paint.NET (general public, .NET1.1), Virtual Earth
from NASA (.NET1.1, general public), an RSS reader (.NET1.1 general
public)
And my soon to be CooksCompanion (general public, .NET2.0, home
project) and NovaMind for windows (home project, .NET2.0, general
public)

Did you pay for any of that?

My opinion is that .NET is taking over the position that VB had five or
six years ago, that is, it is used for lots of freeware and shareware
(ie great for the hobbiest) and for applications used within a company
(the RAD aspect is important here). Where it is not used is to create
commercial products that are sold shrink wrapped. Yes, there are
exceptions to what I have said, there are some companies who have
distributed small .NET apps as part of their product, but in general,
these are *exceptions* and do not show the tend of the market.

Personally, I see nothing wrong with that, I just wish that Microsoft
would admit that it is the case.
Also you could program in .NET in Word & Excel 12. They are native
application themselves (no point in wasting resource in rewritting in
managed code an existing 20 years old native application), but they
support managed extensibility.

Indeed. This is *really* the way that Microsoft want us to use .NET,
that is, provide a RAD solution for users.

Richard
 
R

Richard Grimes

Scott said:
I'm not sure what it is you are saying here. That article just
confirms that Windows Vista *will* have native *support* for .NET and
that is what I said. I did not say that Windows Vista would be built
to run as a .NET application. What I meant was that if someone has
Vista, then they can run .NET apps. because .NET support is native to
the OS, unlike .NET in XP, which must be added as a Windows Update
item.

Your terminology is misleading, 'native support of .NET' appears to be a
contradiction since most people use the term 'native' to mean x86 code.
I understand what you mean now. However, note that Win 2003 Server had
..NET 1.1 installed from the distribution CD (and hence didn't require an
windows update), but that did not create a new .NET market.

What *might* change things, and I don't know as yet whether it will, is
WinFX. But again, I reckon that it will persuade more bespoke .NET apps
rather than shrinkwrapped apps.

Incidentally, the point of my article was that it's my opinion that
Microsoft have abandomed any intention of writing new code in .NET - the
new innovations in Vista will *all* be native (ie non-managed) code.

Richard
 
L

Lloyd Dupont

Let me say I strongly disagree with you.
I see only 3 drawback with .NET (from the user point of view):
- increased memory usage
- bigger download for the installation.
- slower startup

I don't see how it's really a show stopper today.
Beside at work I am paid to migrate a successfull MacOSX app to Windows, I
choosed GNUstep & .NET 2.0 and hope that it would be as successful on
Windows as it is on Mac (in fact more).
I could tell you that the installation is easy.

The application works, who cares if it has been written in .NET (or other
thechnology)?
Well actually the user do as I have been able to provide nice GUI, which I
would have been at pain to provide with win32/MFC (I never really get it
with these previous technologies).

Now I think .NET is not widespread simply because there not that many new
general public application nowadays.
More thant that, I think that if competitor don't use .NET: it's good for me
:-D


Furthermore I would like to make an analogy:
The same thing could be said about Java. In which case I would agree with
you. having been a Java programmer, I alway thought that Java programs, when
used, where somehow not exactly right.
But I have no such feeling when playing with a .NET application.
 
S

Scott M.

Let me say I strongly disagree with you.
I see only 3 drawback with .NET (from the user point of view):
- increased memory usage

Says who? .NET applications (when written properly) are more efficient than
VB ever was.
- bigger download for the installation.

Not necessarially. Many Windows users already have the .NET Framework
installed via Windows Update and so only the application need be installed.
- slower startup

I have no idea where you got this one from.

What stats. are you getting your information from?
 
S

Scott M.

Your terminology is misleading, 'native support of .NET' appears to be a
contradiction since most people use the term 'native' to mean x86 code.

Most people use the term *native code* to mean x86 code, I didn't say
*native code*, I said *native support*. I didn't say that Windows Vista
uses .NET *as* its native code. The term *native* only means that something
is *built-in* or *standard* with something. Just as we can talk about the
*native* data-types of this language or that. When people mean what you
thought I was saying, they'll say *native code* (not native support)
[splitting hairs at this point].
I understand what you mean now. However, note that Win 2003 Server had
.NET 1.1 installed from the distribution CD (and hence didn't require an
windows update), but that did not create a new .NET market.

Because the average consumer doesn't run Win2003 Server.

My point was simply that as .NET becomes *natively available* as part of the
most mainstream OS in the world, you will see more consumer applications
written for .NET. And, by the way, in my first reply I also said that I
don't believe it would happen as soon as Vista becomes available, it will
take time for Vista to be the predominant OS out there.
Incidentally, the point of my article was that it's my opinion that
Microsoft have abandomed any intention of writing new code in .NET - the
new innovations in Vista will *all* be native (ie non-managed) code.

Microsoft has not abandoned new .NET applications at all. Where did you get
that from? Vista [formerly Longhorn] has been in development since .NET
was. It makes no sense to tear down your next major OS just to incorporate
your new development platform, just as you won't see Office re-written as
..NET applications because of the millions of lines of non-managed code that
is in it.

There is no reason at all to believe that *brand new* MS applications
[again: down the line] won't be written in 100% managed code.

-Scott
 
M

Michael D. Ober

Scott M. said:
Your terminology is misleading, 'native support of .NET' appears to be a
contradiction since most people use the term 'native' to mean x86 code.

Most people use the term *native code* to mean x86 code, I didn't say
*native code*, I said *native support*. I didn't say that Windows Vista
uses .NET *as* its native code. The term *native* only means that something
is *built-in* or *standard* with something. Just as we can talk about the
*native* data-types of this language or that. When people mean what you
thought I was saying, they'll say *native code* (not native support)
[splitting hairs at this point].
I understand what you mean now. However, note that Win 2003 Server had
.NET 1.1 installed from the distribution CD (and hence didn't require an
windows update), but that did not create a new .NET market.

Because the average consumer doesn't run Win2003 Server.

My point was simply that as .NET becomes *natively available* as part of the
most mainstream OS in the world, you will see more consumer applications
written for .NET. And, by the way, in my first reply I also said that I
don't believe it would happen as soon as Vista becomes available, it will
take time for Vista to be the predominant OS out there.
Incidentally, the point of my article was that it's my opinion that
Microsoft have abandomed any intention of writing new code in .NET - the
new innovations in Vista will *all* be native (ie non-managed) code.

Microsoft has not abandoned new .NET applications at all. Where did you get
that from? Vista [formerly Longhorn] has been in development since .NET
was. It makes no sense to tear down your next major OS just to incorporate
your new development platform, just as you won't see Office re-written as
.NET applications because of the millions of lines of non-managed code that
is in it.

There is no reason at all to believe that *brand new* MS applications
[again: down the line] won't be written in 100% managed code.

-Scott

SQL Server 2005 is a .NET 2.0 application. The new MSDN runs on top of .NET
as well. I suspect that all new, as opposed to version upgraded, MS
applications will be written in managed code simply because of the security
implications of managed code.

Mike Ober.
 
L

Lloyd Dupont

Let me say I strongly disagree with you.
Says who? .NET applications (when written properly) are more efficient
than VB ever was.

I think so. I have no proof.
Not necessarially. Many Windows users already have the .NET Framework
installed via Windows Update and so only the application need be
installed.

well should I stress that it's an optional download. And only those user
going manually to windows update and selecting all update would have it.
I have no idea where you got this one from.
It is. It's a fact of life. All the necessary runtime + user function are
JITted and verified and startup.
Write a simple C (or MFC) Form application and a simple .NET Winform app,
starts them on an old computer and you would see a difference.
What stats. are you getting your information from?
experience and fuzzy memory of previous reading.
 
R

Richard Grimes

Michael D. Ober wrote:

dumpbin /clrheader is your friend. If the file is a .NET assembly the
/clrheader will list details about .NET in that file; if it is an
unmanaged application, then /clrheader will not list anything. You can
also use the tool on my website which will go through a folder and tell
you which files are managed, which are unmanaged and which are managed
but host the runtime.
SQL Server 2005 is a .NET 2.0 application.

No it isn't. SQL Server 2005 hosts the runtime to allow you to write
stored procedures in .NET. This means that it is an unmanaged
application that allows .NET code to run in its memory.

My measurements show that for SQL Server 2005 Express there are 137
executable files (dll and exe) and of those 46 are managed. These are
for interop with managed code, for ASP.NET, but the majority are for
'setup bootstrap'. All of the main files in SQL Server are unmanaged. So
it is incorrect to say that SQL Server is a .NET application.
The new MSDN runs on top
of .NET as well. I suspect that all new, as opposed to version
upgraded,

The document explorer (dexplore.exe) is not managed (but it does host
the runtime). Two libraries in its folder are managed, these are
Microsoft.WizardFramework.dll and Microsoft.WizardFrameworkVS.dll. These
are quite small files compared to the rest of the application (and as
you can see, they do not perform the main purpose of MSDN). The document
explorer uses interop by hosting the .NET runtime to use this code. So
although MSDN uses a small amount of .NET code it does not mean that it
'runs on top of .NET'.
MS applications will be written in managed code simply
because of the security implications of managed code.

I agree, but to do that you have to make the *entire* process managed.
Hosting the runtime to use a small amount of .NET code (like the
document explorer, SQL Server or VS.NET) means that only a small amount
of the process is protected. Crackers are as lazy as the rest of us, so
they will not attack the most protected part, they will attack the least
protected part. If an application has unmanaged code then the least
protected code will be the unmanaged code. Since the security of an
application is as strong as its weakest part this means that the new
managed code will have no effect whatsoever on the security of the
application.

Richard
 
R

Richard Grimes

Lloyd said:
Let me say I strongly disagree with you.

I don't think you completely disagree with me ;-)

I am a .NET enthusiast, I think that .NET should be used as much as
possible, mainly for the security benefits. I suspect that you are a
..NET enthusiast too.

Where we differ is that I think Microsoft as a whole, is retreating from
their position a few years ago, when we got the impression that they
thought it was important to use .NET as much as possible. I want
Microsoft to embrace .NET or at least, tell us why they are not using
..NET as much as they tell us that we should be.
I see only 3 drawback with .NET (from the user point of view):
- increased memory usage
- bigger download for the installation.
- slower startup

I don't see how it's really a show stopper today.

Again, I agree. As a rule I don't like to say 'stick some more memory in
your machine and the app will work' because I have worked on projects
where it is not economic to do that. Having said that, I think that
eventually most machines will be powerful enough to make those issues
unnoticeable.
Beside at work I am paid to migrate a successfull MacOSX app to
Windows, I choosed GNUstep & .NET 2.0 and hope that it would be as
successful on Windows as it is on Mac (in fact more).
I could tell you that the installation is easy.

So will that be a commecial, shrinkwrapped app, the sort I can buy from
my local computer store? One of the precious few.
The application works, who cares if it has been written in .NET (or
other thechnology)?
Well actually the user do as I have been able to provide nice GUI,
which I would have been at pain to provide with win32/MFC (I never
really get it with these previous technologies).

I did :) so I can tell you that MFC is far superior to Windows Forms.
Seriously, IMO that is one of the big mistakes that Microsoft made, they
produced a framework that was very much like VB forms to target that
market (ie RAD applications) rather than the smaller market of MFC
developers. There was talk in Microsoft o producing an MFC-like library
for WinForms, but it died early on. The reason was Avalon (WPF), of
course. WPF is getting close to the power of MFC (the December CTP is
not quite there) but I expect by the time of the WinFX is released, it
will be.
Now I think .NET is not widespread simply because there not that many
new general public application nowadays.

Umm, yes, but the question we are trying to answer is: why?

Richard
 
R

Richard Grimes

Scott said:
applications written for .NET. And, by the way, in my first reply I
also said that I don't believe it would happen as soon as Vista
becomes available, it will take time for Vista to be the predominant
OS out there.

Many people are asking 'why should I upgrade to Vista'? You don't need
to upgrade to get WinFX (and the advantages of WPF and WCF - Avalon and
Indigo) so why not stay with XP? I guess the main 'upgrade' route will
be through new machines, because Microsoft will mandate that new Windows
machines will be Vista. So, as you say, it may take a long time for
Vista to be predominant.
Microsoft has not abandoned new .NET applications at all. Where did
you get that from?

By looking at how many .NET applications Microsoft is producing, and how
much .NET there is in Vista. Vista may have .NET 2.0, but it does not
have WinFX. We are told that WPF and WCF will revolutionize the way that
applications will be written, but Microsoft are not using those
technologies themselves. What does that say to you? To me that says that
there are two camps in Microsoft - those pushing .NET and those
resisting it. The former were in charge at the time of the PDC 2003
technical preview of Longhorn, the latter are in charge now.
Vista [formerly Longhorn] has been in development
since .NET was. It makes no sense to tear down your next major OS
just to incorporate your new development platform, just as you won't
see Office re-written as .NET applications because of the millions of
lines of non-managed code that is in it.

You have ignored the PDC tech preview of Longhorn. There was a lot of
..NET in that build - a significant portion of the code that accessed
your files was implemented in .NET. In the next public build of
Longhorn/Vista Microsoft quietly removed that stuff.


In any case, a 100% managed OS IMO would be a disaster, because .NET has
not been designed as a framework to write operating systems. However,
you can say the same about Win32. Device driver writers do not use
Win32, they use the DDK which is a totally different API.
There is no reason at all to believe that *brand new* MS applications
[again: down the line] won't be written in 100% managed code.

Hmmm, so Microsoft decides that they want some anti-spyware as part of
Windows. What do they do? Well they buy up a product that was written in
unmanaged VB and they port that code. Don't you think that would be a
good opportunity to rewrite the code as managed code? (Heck, they could
even use the VB porting tool that they tell their customers to use <g>).
No, they didn't do that, instead they rewrote it as unmanaged C++. What
does that say?

Richard
 
L

Lloyd Dupont

Let me say I strongly disagree with you.
I don't think you completely disagree with me ;-)
it seems, indeed.. ;-)
I am a .NET enthusiast, I think that .NET should be used as much as
possible, mainly for the security benefits. I suspect that you are a .NET
enthusiast too.

Where we differ is that I think Microsoft as a whole, is retreating from
their position a few years ago, when we got the impression that they
thought it was important to use .NET as much as possible. I want Microsoft
to embrace .NET or at least, tell us why they are not using .NET as much
as they tell us that we should be.
I believe they were over promoting .NET (and were much criticised on that).
Now they revert to quieter mode.
Where no (I mean not many) devfeloper feel threatened that his/her
technology would
become deprecated.
Nonetheless the .NET momentum and the amount of .NET litterature is huge and
growing.

That doesn't address your concern that there are so few .NET based app on
Vista.
Well I don't know...
Maybe you should ask them, I believe you sometimes go at redmond?
Or ask Paul Thurot if you know him?

Again, I agree. As a rule I don't like to say 'stick some more memory in
your machine and the app will work' because I have worked on projects
where it is not economic to do that. Having said that, I think that
eventually most machines will be powerful enough to make those issues
unnoticeable.
I undestand you.
However since even my elder sister got a computer powerfull enough to run
all the app
I wan to show her without problem, I came to believe that every computer is
powerfull
enough nowadays.

So will that be a commecial, shrinkwrapped app, the sort I can buy from my
local computer store? One of the precious few.
In fact you have to download it... However:
- We are using eSellerate to sell off the web, and they could send you a CD.
- We have many resellers, some of them are such shop. but I don't know the
exact reseller list.

Hurra! I'm impress!

so I can tell you that MFC is far superior to Windows Forms.
Don't repeat it, and don't tell anyone I told you, but I think (Java's)
Swing is, too,
far superior to Winform.

Seriously, IMO that is one of the big mistakes that Microsoft made, they
produced a framework that was very much like VB forms to target that
market (ie RAD applications) rather than the smaller market of MFC
developers. There was talk in Microsoft o producing an MFC-like library
for WinForms, but it died early on. The reason was Avalon (WPF), of
course. WPF is getting close to the power of MFC (the December CTP is not
quite there) but I expect by the time of the WinFX is released, it will
be.


Umm, yes, but the question we are trying to answer is: why?

I believe there are not that many new general public application.
I would be happy to be proved wrong.
Because I have 3 in store, developed in my own time, coming soon, and I wish
at least one them would be successful.
 

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