Andrew Pollack's Blog

Technology, Family, Entertainment, Politics, and Random Noise

Upgrading from Visual Studio.NET 2003 to 2005

By Andrew Pollack on 07/03/2007 at 09:05 PM EDT

On my list of long overdue tasks was upgrading from Microsoft Visual Studio.NET 2003 to version 2005. I've been holding off because I have so much source code that the idea of refitting it isn't appealing at all. Now that I've gone and done the upgrade on one of my machines and worked with it a few days, I thought I'd share a bit about the results.

First, to be safe, my entire source code folder set was archived off to CDROM. It turns out that wasn't strictly necessary. When the new version opens and converts an old project, it offers to make a full backup first. It puts the backup in a subfolder to the current project. On top of that, once nice thing I've found is that the 2003 and 2005 versions seem to peacefully coexist on the same workstation.

I'm primarily still using VB.NET rather than C#. It doesn't really matter because they compile to the same byte code and use the same resources in the .NET Framework, so neither speed nor stability is any different. I stick with VB because I'm comfortable with it, and C# is too much like Java to be useful. Its close enough that the differences are annoying as hell if you go back and forth.

At least with VB.NET, the biggest difference you notice right away is that you get a bunch of compiler warnings. For those most part, these are simply a result of a different set of defaults. The compiler now complains any time you declare a variable and then don't use it, for example. The other thing you may run into if you do as much multi-threaded programming as I do is that the .NET framework will now throw exceptions if you access some UI elements from threads which did not create them. It turns out these elements are not in fact thread-safe. This is actually fairly easy to re-code, and the practice of having threads write to shared objects which are then read and updated by the thread controlling the UI is probably better anyway. The unfortunate thing is that the help system in VS.NET 2005 is just as bad as it was in 2003 -- maybe even worse. I could have told the compiler to ignore the first kind of errors but instead took the opportunity to clean up the code. It didn't take long. Dealing with the thread safety issue to longer, as I tried a few different code patterns before I settled on what would work for me.

Some unexpected goodies were to be found in the new version as well. I particularly like the new "Application Settings" class. This is handy way to very easily save and restore all the local settings you put on your dialog boxes and application controls. You define each setting in a simple table, and even define if the setting is user specific or is global to the application for all users. Nicely done. The other cool feature I've seen but haven't yet tried is the ability to auto-update. The application can be told at build time where to go look for updates on the web via ftp or http, and how often to check. Auto-update then, would be a built in feature of any application. I'm looking forward to trying this out.


There are  - loading -  comments....



Other Recent Stories...

  1. 03/26/2019Undestanding how OAUTH scopes will bring the concept of APPS to your Domino serverWhile a full description of OATH is way beyond what I can do in this quick blog entry, I wanted to talk a bit about how "SCOPES" interact with the already rich authorization model used by Domino. Thanks to the fantastic work by John Curtis and his team, the node.js integration with Domino is going to be getting a rich security model. What we know is that a user's authorizations will be respected through the node.js application to the Domino server -- including reader names, ACLs, Roles, and so on. The way ...... 
  2. 02/05/2019Toro Yard Equipment - Not really a premium brand as far as I am concernedDear Toro Customer Service, I arm writing about the following machine: Toro Power Max 1120 OXEModel:38654S/N:31000#### Specifically, bearing part #:63-3450 This is the part ($15 online / $25 at the local dealer) that caused me to raise my objections on-line. This piece of garbage is supposed to be a bearing. It carries the shaft which drives both stages of the auger. The shaft passes through the bearing (which is what bearings do) after the auger drive pulley as the shaft goes through the back (engine ...... 
  3. 10/08/2018Will you be at the NYC Launch Event for HCL Domino v10 -- Find me!Come find me in NYC on Wednesday at the Launch Event if you're there. I really do want to talk to ...... 
  4. 09/04/2018With two big projects on hold, I suddenly find myself very available for new short and long term projects.  
  5. 07/13/2018Who is HCL and why is it a good thing that they are now the ones behind Notes and Domino? 
  6. 03/21/2018Domino Apps on IOS is a Game Changer. Quit holding back. 
  7. 02/15/2018Andrew’s Proposed Gun Laws 
  8. 05/05/2016Is the growing social-sourced economy the modern back door into socialism? 
  9. 04/20/2016Want to be whitelisted? Here are some sensible rules for web site advertising 
  10. 12/30/2015Fantastic new series on Syfy called “The Expanse” – for people who love traditional science fiction 
Click here for more articles.....


pen icon Comment Entry
Subject
Your Name
Homepage
*Your Email
* Your email address is required, but not displayed.
 
Your thoughts....
 
Remember Me  

Please wait while your document is saved.