What’s the chaos with Code Contracts?

I was just looking to get the newest stuff to install in a new VM, and found myself very confused by the various ways of getting hold of Code Contracts.

So, there are two different places where downloads are provided: the Microsoft Research download page via their Code Contracts page and the DevLabs page that is linked from there. According to the info on these pages, the DevLabs packages come with a commercial license, while the others have an Academic License that I haven’t looked into. So far, so good.

Now, confusing thing no. 1 is that on the MSR download page the version numbers don’t match. While the headers point at a version 1.2.20518 from May 20th 2009, the file information in the download box shows version 1.1.20415.13 from April 15th 2009 instead. Well, perhaps a simple mistake. (Quick update: yes, the version that comes through is the correct 1.2.20518 one.)

Confusing thing no. 2 comes up when looking at the DevLabs page. There are two versions for download, a standard and a VSTS edition. The obvious difference is that the VSTS version only installs in VSTS. The not so obvious difference is that only the VSTS version has the static checker included. Why? How does that make sense? I have VSTS myself, but I prefer installing only the Professional version of VS… so I can’t use the static checker now? Odd.

Finally, confusing thing no. 3 is that I thought Code Contracts came in the box with VS 2010 (and in fact I’m pretty sure I’ve tried it there myself in the past, but I can’t easily check now because I’m in the middle of stuff). For some reason though, the MSR page claims that the download works great with VS 2010 Beta 1. So perhaps it’s newer? Or the content is different? Should I install it? Who knows…

I should be looking into this and at some point I will, but I thought I’d post this first. Perhaps I get lucky and somebody who has some of the answers comments here šŸ™‚

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s