Microsoft.Contracts
is the main assembly of the Microsoft Code Contracts system. If its not used by your actual code, it could well be used by a referenced library.
In theory you should be able to remove all code related to it and your program should run the same. It is after all just a way of enforcing practices and helping with testing. In practice, I'm not so sure...
Code Contracts provide a
language-agnostic way to express
coding assumptions in .NET programs.
The contracts take the form of
pre-conditions, post-conditions, and
object invariants. Contracts act as
checked documentation of your external
and internal APIs. The contracts are
used to improve testing via runtime
checking, enable static contract
verification, and documentation
generation. Code Contracts bring the
advantages of design-by-contract
programming to all .NET programming
languages. We currently provide three
tools:
The full version is only available in VS 2010 Premium/Ultimate, but apparently you can get a "standard edition" for other versions of VS.