Okay, so after installing Visual C# 2005 Express Edition (Beta 2), I decided to do something a little more, uh… challenging than mucking around with the Managed DirectX game sample from Coding4Fun… I mean, don’t get me wrong – I’m no DirectX expert by any stretch of the imagination… What I mean is taking a production app written in Visual C# 2003 (.NET v1.1) and seeing what (if anything) breaks.
Okay, that’s a slight exaggeration – there were a couple of Windows Forms properties that are no longer supported, one event/event handler pair didn’t get ported over by the wizard (I’m guessing that the name of the event was too close to a keyword, but that’s really and truly a wild-ass guess. It ain’t even a sophisticated wild-ass guess), and the solution had some minor trouble reconciling references between projects, but it was a matter of 15 – 20 minutes of mucking around to eliminate the errors. There are still some warnings that I’d like to get rid of, but I can’t until there’s a real version of MSDN out there so that I can understand how I should replace a deprecated boolean property with a property that uses an enum (thanks, guys…). But really, that’s it. There are a couple of things that have clearly changed with the way that repainting window surfaces is handled (there are some boxes around our custom controls, and there appears to be some kind of default mouse-over behavior that makes the UI respond slightly differently, but there’s been no substantial changes in the behavior of the app.
Except for one. It’s fast. Like, really fast. Snappy, even. It takes longer to load the app in debug mode, and it’s a little twitchy unloading, but form-to-form transitions that used to border on Internet-browser-over-dialup-slow are now barely perceptible.
This is good.
If Beta 2 is any indication of what the release version of Visual Studio 2005 and v2.0 of the CLR is going to look like, they’ve done some really nice stuff by way of addressing the shortcomings of WinForm apps. Oh, and if anyone else out there notices a problem with the Members Window of the Object Browser (not the project/assembly TreeView, but the window that displays the actual members of the selected object), please leave me a comment…