I just upgraded to visual studio 2010 and installed the code contracts msi. When I try to use it I get a compiler error that the system.diagnostics.contracts.contract dll exists in both the v3.5 and v4 framework. Anyone know what I should do to resolve this? Thanks.
+5
A:
If you're upgrading a .NET 3.5 project that uses contracts to .NET 4.0, make sure you remove your reference to the Microsoft.Contracts
assembly.
The Microsoft.Contracts
assembly provides code contracts for use in .NET 2.0 or 3.5 projects, but is provided by default with .NET 4.0 in mscorlib
, so you don't need it. They both share the System.Diagnostics.Contracts
namespace, so by having references to both at the same time, the compiler isn't able to figure out which one you're trying to use.
Rich
2010-08-17 00:58:49