The Inner Workings of *.vbproj Files: <ProjectTypeGuids>

During the conversion of the S#arp Architecture template project from C# to VB.Net I inadvertently broke (at least) one thing: the ability to add ASP.Net MVC items directly to the SharpArch.Web project directly from the “Add New Items…” dialog. This led to my first question asked on StackOverflow.com (which I ended up answering myself, 38 minutes later).

Turns out Visual Studio project files can have an element called <ProjectTypeGuids> which contains one or more guids identifying what type of project the file describes. ASP.Net MVC projects have a particular guid specified: {603c0e0b-db56-11dc-be95-000d561079b0}.

So I added this guid to both my SharpArch.Web project file and my SharpArch.Controllers project file, and now I can add new MVC template items directly from the “Add New Item…” dialog. Cool!

AnkhSVN is AWESOME!

What is AnkhSVN? It’s a Subversion source control provider for Visual Studio. It allows you to use Subversion for version control in Visual Studio rather than something like Visual SourceSafe. It’s also open-source and free.

I can just hear some people saying “I’ve tried AnkhSVN. It sucks. VisualSVN is the closest you can get to working Subversion / Visual Studio integration”. I can even hear a few people saying “They both suck. Who needs IDE integration anyway. TortoiseSVN from Windows Explorer is just fine”.

I have shared both of these views at various points in the last few years. But today I discovered and tried AnkhSVN 2.0! Huge difference! The new version is a nearly complete rewrite. It’s no longer an add-in, it’s own a proper SCC provider.

Do yourself a favour and give it a try before you drop any money on VisualSVN.