Things to look at in VS2005

Got the beta installed (finally). I had some issues initially, but removing the VS2003 VSIP SDK seemed to resolve those. Converted a couple of big solutions I had lying around (including one with 53 projects) and recompiled them in Whidbey with no problems – the conversion process is very slick. I’m very pleased with my first impressions of the new IDE; I’ll devote a full post to those later.

For now, I’m poking around the new framework libraries with the Object Browser looking for new and interesting things. Thus far, these things have caught my eye as topics for further research:

In mscorlib.dll:

  • System.Runtime.ConstrainedExecution namespace – a couple of interesting things here related to reliability, like CriticalFinalizerObject and ReliabilityContractAttribute. Brumme-territory, methinks.
  • System.Diagnostics.SymbolStore namespace – guessing that this has to do with generating .PDB’s or other sources of debugging symbols.
  • System.Security.AccessControl namespace– this has a rich set of classes for manipulating Access Control Lists and security descriptors
  • System.Threading.Semaphore – all right! I always wondered why this wasn’t in there.
  • System.Threading.ExecutionContext/ExecutionContextSwitcher – very interesting. I’m guessing this has something to do with fibers, but I’m really not sure.

In System.dll:

  • KeyedCollection<K,V> -- wonder how this differs from Dictionary<K,V>
  • LinkedList<T> -- Nice! About time…
  • ReadOnlyCollection -- Ditto.
  • System.IO.Compression – includes DeflateStream and GZipStream. No more linking to the J# libraries to get compression.
  • System.IO.Ports – managed access to serial ports. Sweet.
  • System.Net.HttpListener – HTTP outide of IIS. DBox eluded to this a while back.
  • System.Net.Mail ­– wonder if System.Web.Mail has been deprecated.

In System.Deployment.dll

  • The entire System.Deployment namespace looks cool. Looks like a lot of stuff to support ClickOnce.

In System.Transactions.dll

  • Hell yeah, managed transactions!  The LightweightTransactionManager is something I’ve been hearing rumors of -- I think this whole namespace is the Indigo team making an appearance. Also a System.Transactions.Oletx for interoping with the DTC(?)

Add to that all the interesting stuff in the Microsoft.Build.* dll’s (MSBuild!), plus the 8 metric boatloads of new stuff in System.Web.* and I’ve got a lot of new stuff to investigate. Looks like I won’t be running out of blog topics anytime soon…

#1 Jim Bolla on 7.02.2004 at 6:52 AM

Thanks for the informative post. I can't wait to install it. Just finished downloading from MSDN. Geek weekend ahoy!