Monday 5 November 2007

Visual Studio Express

I finally can't resist a quick rant about VS Express...

I'm currently in the process of designing a fairly complicated website and as part of this it became necessary that I develop a custom ASP.NET Server Control as a component to be used by a couple pages within the site. Now, I read my way through a few tutorials about this (including some of the MSDN docs), and concluding it was simple enough I created a simple class inheriting from WebControl and specifying the ToolboxData attribute, but soon ran into problems. It seems that another annoying limitation of the Express editions of Visual Studio is that you can't develop a website and an associated library (a control library in this case) side by side, since Visual Web Developer locks the DLL file when running its web server. This of course means you can't build any referenced library while the web server is running. Okay, so this by itself is expected (albeit irritating) behaviour and there's probably little anyone could do about it - but then I thought that I would at least be able to build the referenced library once I'd stopped the web server. To my regret I found that Visual WD maintains the lock on the referenced DLL, forcing me to completely close off the IDE before I can rebuild the helper library (in VB.NET or VC# Express), and then reload the IDE and restart the webserver before I can continue testing! Well I think you see the point by now...

I've always been quite pleased since Microsoft made available their main programming languages to those of us (mainly students) who can't afford the paid editions or aren't inclined to get it over BitTorrent. However, I am surely starting to lament the absence of a .NET IDE that can handle multiple language/project types...