Code Contracts for .NET


Code Contracts are static library methods used from any .NET program to specify the code’s behavior. Runtime checking and static checking tools are both provided for taking advantage of contracts.

(64) Review
Visual Studio
2015, 2013, 2012, 2010
Download (141,072)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (64)
Sign in to write a review
Sort by:

by KubuS_ | August 18 2015

the version workaround by Michael-Chen works.

CC Guys, please pay attention to those version bugs - it happened in the past too. CodeContracts as a tool are awesome!

by Michael-Chen | August 17 2015

It is a perfect tool in speaking of function. However, I also have the same problem that although 1.9.10714.2 is installed (on Visual Studio 2015). VS still tell me it needs to be updated from version 1.8.

I found following steps would work around.

1. After install the extension, open VS, you will see the notification tell you to upgrade the extension.

2. Close the VS.

3.Go into following three folders:
1.C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\CodeContracts\1.9.10714.2
2. C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\CodeContracts\1.9.10714.2
3.C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\CodeContracts\1.9.10714.2

4. You should find there is one file named extension.vsixmanifest in each of above three directory. Open it with notepad.

5. make sure in each of three file, on line 4, the value of Identity version is 1.9.10714.2. If not, change it to 1.9.10714 and save the change.

6. Restart VS two times, I don't know why, but first time it still tell me to upgrade, but second time and afterwards it's OK.

by Gil Yoder | August 15 2015

The version problem is due to old version information within the extension manifest files within the package. After installing, I modified the version field for Visual Studio 2015 to fix the problem on my machine.

by PeterDefendo | August 03 2015

Installed version 1.9, but Visual studio 2013 still says its using 1.7..

by IT-Marky | July 30 2015

Oh guys, you did it again - sort of ;-) I installed 1.9.10714.2 on a blank Win10 VS 2015 Community Edition and VS keeps complaining that an upgrade were available. As I found out today, someone forgot to correct the Identity Version in the extension.vsixmanifest file which still claims to be 1.8.10107.10 :-) (in a 1.9.10714.2 folder, very funny)
Please fix :-)

My old review about other setup issues:

This is a great project but I'm affected by the installer issues, too - after all four or five installations since the first time I installed CodeContracts I had to clean up the

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\CodeContracts

directory. Uninstalled the old version first, then installed the new; like now there are two folders 1.7.10908.11 and 1.7.11106.10 of which I have to delete the former older one. Maybe you should explicitly delete the folder from within the MSI uninstall sequence. The files that get left behind and might not be authored for proper removal are:


It's a bit unnerving :-)

by afaolek | July 30 2015

I'm rather new to Code Contracts but I think I'm going to love it.

But I was wondering; it could be made better if it could be used as attributes. In my opinion, attributes are easier to use than writing in code.

by onurg | July 30 2015

Still same problem after 28th update no fixes. Can't update to newer version also previous tricks we did like deleting the contracts folder doesn't work either.

by manuel4y | July 27 2015

Please fix the update notification!

by Paul M Cohen | July 24 2015

This is a fantastic tool I just wish it didn't have the update issue.
VS 2013 and 2015 both complain that an update is needed.
VS 2013 wants to update from 1.7.11202.10
and 2015 wants to upgrade from 1.8.10107.10.

by Damien_The_Unbeliever | July 22 2015

I've installed this version (1.9.10714.2) and it does seem to install into a directory with the same version number - but the manifest within claims to be a 1.8.something version and Visual Studio (2015) seems to therefore think that it still needs updating.

Overall I rate Code Contracts quite highly but I'm surprised by this issue occurring.

by ndykman | July 21 2015

There is a risk with adopting tools that are pre-release. With Visual Studio 2015 coming out and little word on a update, I was worried. But, look, not a day after the Visual Studio 2015 RTM, a new version with 2015 Support.

Code Contracts is the most underrated and underused tool in the .Net ecosystem. I look forward to the day when it is fully and completely integrated with Visual Studio. Until then, I can only thanks Sergey Teplyakov and others for their work. I hope to find enough time to contribute to the project in the future.

by Matthew Whited | June 05 2015

Any update on VS2015 love? How about getting out-of-the-box support in VS. Contracts have been in the BCL for awhile.

by Valo | May 22 2015

Code Contracts is an excellent design and programming device but, as many already said, it is very frustrating that there are no signs for updating the tool for Visual Studio 2015. Can someone please break the silence and let us know what the plans are. We have existing projects relying on it - shall we rewrite our code? Please, someone say something.

by Adrian Moș | May 05 2015

This is a really good thing to have, and I was a fan of the entire idea of static analysis and especially the extreme advantages of having Code Contracts that you could actually manage constructively (such as keeping all the heaviest checks on a test version, while keeping only public surface ones for a stable environment, etc.)

However, the actual implementation has seriously lagged behind the actual tools. With the really cool features of the newest framework versions and also newest Visual Studios, the Code Contracts implementation just does not arrive fast enough for it to be a useable tool.

This coupled with strange issues and abysmal performance in some cases, makes it unusable in another context than just academic musing.

Also, one has to wonder whether this could not have actually been better done directly in the framework rather than through ccrewrite.

by jcutting | May 01 2015

My team recently adopted code contracts. It's a fantastic tool that's already helped to catch some validation we would have missed otherwise. There's a learning curve for some devs who can't easily adapt to the contract way of thinking, but it's absolutely worth the curve and the time to bring people up to speed.

There are some places I wish the contracts and rewriter worked a little differently, but overall I think it's fantastic.

I will add to the requests for a MUCH needed update for VS2015. I installed the RC yesterday hoping to move my team to it next week, but we're on hold because of the ccrefgen errors related to ReadCustomMetadata.

by José Joye | April 27 2015

Me too. This actually prevent us moving to VS2015....

by darkmaku | April 10 2015

good tool!!! but i wish code contracts for VS 2015 xd

by Roy Mayfield | March 29 2015

Guys, these extensions are appreciated more than you'll ever know. YOU are unsung heroes. This pattern will no doubt grow across all aspects in computing. You have allowed us to prevent* bugs at code-time, *before* unit testing...

EDIT: I think the underlying neat synergy here is that as developers code Contract statements, it makes them *think about states, contexts, and very likely discover possible but unhandled states*. That, by itself, is fantastic ;)

There is no silver bullet, but this, combined with TFS check-in rules... = ? I don't know man... ;)

I bet a nickle at least one office conflict will be prevented (rather than resolved) as a result of this. And that is almost as good as saving a life ;) Kudos guys.

Roy Mayfield
Enterprise Architect

by Borchin | March 14 2015

by Yatajga | February 20 2015

1 - 20 of 64 Items