Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Migrating from .NET 1.1 to .NET 3.5

What would be some compelling reasons to upgrade a web app from .NET 1.1 to .NET 3.5?

like image 798
Developer Avatar asked Dec 22 '08 19:12

Developer


People also ask

Is .NET 1.1 still supported?

NET Framework 1.1 on Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10, or Windows 11 from a CD or download center. It's no longer supported.

Is .NET 3.5 still supported?

For operating systems released prior to Windows 10 version 1809 and Windows Server 2019, . NET 3.5 SP1 remains a component of the Windows version on which it is installed. Future Windows releases will not affect the lifecycle of . NET 3.5 SP1.

Are .NET versions backwards compatible?

The . NET Framework 4.5 and later versions are backward-compatible with apps that were built with earlier versions of the . NET Framework. In other words, apps and components built with previous versions will work without modification on the .

How do I upgrade my .NET Framework?

To update the target framework for all projects, right-click on the project (one by one), click properties, and from the “Application” tab change the target framework to the desired one as in the following screenshot and select “Yes” in the popup that is displayed after the framework is changed.


3 Answers

The question isn't 'whether you should',-- in terms of features and added compile-time checks; it's almost a given to get out of the 1.1 framework and into the 2.0 framework. The question is, how fast should you port? What would need to be changed?

Your first step would be to port your application to .NET 2.0. The reason is is that there are plenty of features in .NET 2.0 that didn't exist before, and previous features were deprecated. (In ASP.NET, there were a slew of features deprecated in 2.0).

.NET 2.0 allows for stronger type-safety, nullable types, and changes in the framework. 2.0 represents (what I would consider) the first 'real' release of the .NET platform. It is a serious contender, and you'll find that some of the framework stuff you use in 1.1 has been modified in 2.0.

It's not a simple 'port the code forward and get the benefits' scenario. If you want the benefits, you'll have to rewrite some code (most notably, things involving Generics); but even in the larger .NET framework, there are so many 'behind the scenes changes' that you'll want to port it incrementally: Don't make the jump directly from 1.1 - 3.5.

1.1 - 2.0

  • Generics
  • Static Classes
  • Nullable Types
  • Yield Operator
  • Property Access Modifiers
  • Partial Types
  • Aliases

There are a slew of changes between .NET 2.0 and .NET 3.0. There was an entire paradigm shift. (Though admittedly it is a voluntary shift). Wikipedia has an entire section devoted to it, but I'll (some!) of the changes here:

.NET Framework changes

  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation
  • Windows CardSpace

C# Changes:

  • LINQ
  • Object Initalizers
  • Collection Initalizers
  • Anonymous Types
  • Lambda Expressions
  • Automatic Properties
  • Extension Methods (Source: Wikipedia)

More to come, obviously. Just the jump from 1.1 to 2.0 is worth an entire release cycle.

like image 129
George Stocker Avatar answered Sep 23 '22 15:09

George Stocker


.net 1.1 is deprecated, not being further developed. i'm not sure about security issues. but in general, it's abandoned, and as of 2.0 microsoft ensures back-compatibility in newer versions which isn't the case to 1.1.

so if you have a chance to move - move. you get new language features, you get a framework being constantly built further and further. you get linq if you need it, silverlight support, generics of course, etc.

like image 44
zappan Avatar answered Sep 22 '22 15:09

zappan


I've actually recently finished converting an entire code-base from .NET 1.1 to .NET 2.0. Take into account that .NET 3.5 is actually just sets of extensions for .NET 2.0, it's not a completely new base.

The difference is really quite substantial in many parts. To me, .NET 1.1 had not been "tamed" in any way whatsoever, and required an awful amount of code. Furthermore, VS 7 had to be used against .NET 1.1, so older tools were required.

For web apps a different web config was required as it exposes the .NET version which made it even messier. Don't get into the ".NET 3.5 has new features therefore I must move to it" motion, because you have to make the decision based on requirements, not on potential tool uses. As many-an-author rightly points out, there's a good chance you won't use half of the features that compose the entire framework.

I would recommend, on the other hand, to shift from .NET 1.1 to .NET 2.0 at least.

like image 30
Kezzer Avatar answered Sep 22 '22 15:09

Kezzer