Posted By: colonel-yum-yum | May 13th @ 2:51 AM
page 1 of 1
Comments: 7 | Views: 630
colonel-yum-yum
colonel-yum-yum
YOU! Shut the hell up! and get in the soup!
Hello all,
I have written a windows service in vb.net using VS 2005. Only after completion, was I given the specification that there is a chance that it will have to work on .net framework 1.1
Expressionless
Is there a way of finding out which parts of my code need 2.0? I have a feeling that I won't be able to downgrade it but thought I may as well ask here before ruling it out. Any information you could provide would be greatly appreciated.
Colonel-yum-yum
stevo_
stevo_
Casablanca != Manchester

Err, it will be messy, the only way I can see you doing this is to get hold of vs03, start a new solution, copy everything into it, and then work through resolving the feature loss..

evildictaitor
evildictaitor
How could you use the adjective "indescribable" truthfully?
The big question to ask is why it will have to work on .NET 1.1. Query your boss. Here are some common concerns (and why they shouldn't be)

Everyone has .NET 1.1 and I don't want people to have to download .NET 2.0:

This is a myth. The vast majority of machines have .NET 2.0 installed. It also comes as standard via Windows Update on XP and with the first release of Windows Vista.

People who can run .NET 2.0 can also run .NET 1.1, and therefore it's a least common denominator (and has more market share)

Not true - .NET 2.0 can be installed without .NET 1.1, and .NET 1.1 is incompatable with .NET 2.0 at the JIT level.

.NET 2.0 is a new and fangled technology

It's been around since 22nd Jan, 2006.

If I have to add the .NET 2.0 framework in my final executable, it'll take up loads of space and/or take ages to download

The full runtime is 22MB. You can also get a smaller web-install, both of which can be automatically managed by the installer

Why you should upgrade from .NET 1.1 to .NET 2.0

  1. Generics allow type-safety, resulting in less cost to test and less likelihood of the program suddenly crashing
  2. The JIT now precompiles and caches results, resulting in a significant overall speedup
  3. .NET 1.1 will no longer be mainstream supported as of October this year (and thus you're on your own for security patches or help from Microsoft when it all falls over)
  4. .NET 2.0 has a number of speedups and security patches which .NET 1.1 doesn't have
stevo_
stevo_
Casablanca != Manchester
I don't see what old machines has to do with it really, if anything- .net 2.0 offers much better performance than .net 1.1..

generic arrays for one are vastly superior in performance..
W3bbo
W3bbo
The Master of Baiters
colonel-yum-yum wrote:
Hello all,
I have written a windows service in vb.net using VS 2005. Only after completion, was I given the specification that there is a chance that it will have to work on .net framework 1.1

Is there a way of finding out which parts of my code need 2.0? I have a feeling that I won't be able to downgrade it but thought I may as well ask here before ruling it out. Any information you could provide would be greatly appreciated.


Visual Basic.NET? Ouch. The changes made to VB.NET in 2.0 were more extensive than C#s, also VB.NET doesn't have the luxury of being made a formal standard as C# has, so you're more at the mercy of MS when stuff changes. (Which is one of the reasons I recommend C# for real-world software).

Well, straight off the bat you're going to run into problems with Generics, but writing wrappers isn't hard. Tip: Define simple wrappers for existing generics (like "Public Class ItemList Inherits List(Of Item) End Class"), that way if you do have to go down to 1.1 you can just add the definitions rather than alter every appearance of the generic type in your code.

Then you have to consider the differences in behaviour for Resources and Configurations, how "Settings" and My. didn't exist, and a much uglier UI.

...but if the project isn't too complicated, it shouldn't take you more than a couple of days. But as I said, alias your use of Generics just in case, it also makes your code prettier to boot.

evildictaitor wrote:

People who can run .NET 2.0 can also run .NET 1.1, and therefore it's a least common denominator (and has more market share)

Not true - .NET 2.0 can be installed without .NET 1.1, and .NET 1.1 is incompatable with .NET 2.0 at the JIT level.


It's the other way around. But in any case, MSIL assemblies are 100% forward-compatible. An assembly created in 2001 targeting .NET1.0 will work under .NET2.0

...and simple .NET2.0 assemblies will work under 1.1

evildictaitor wrote:
.NET 2.0 is a new and fangled technology

It's been around since 22nd Jan, 2006.


It's been around before then. The launch event was back in November 2005 (I was there, wheee) and the Whidby betas and CTPs were around since late 2004.
W3bbo
W3bbo
The Master of Baiters
stevo_ wrote:
I don't see what old machines has to do with it really, if anything- .net 2.0 offers much better performance than .net 1.1..

generic arrays for one are vastly superior in performance..


.NET1.x works on Windows NT, .NET 2.0 doesn't. Maybe that's what it is.

And since this seems like a bespoke thing anyway, why not distribute it on CD or Ethernet? That way the size doesn't matter.