От user guide:
Начиная с CLR v4, класс контракта и связанных с ними видов проживают в mscorlib.dll. До CLR v4 эти типы появляются в отдельной сборке под названием Microsoft. Контракты. dll, что установлен под кодом % PROGRAMFILES%/Microsoft/Contracts/PublicAssemblies. Возможно, вам понадобится добавить ссылку на на эту сборку, если вы компилируете против предисловия 4.0 CLR.
Вы можете иметь некоторые интересные вопросы, если вы хотите использовать один и тот же встроенный узел как против 3,5 и 4,0 (я не знаю, - он может просто работать), но если вы используете только 3.5, что должно быть хорошо.
Расширение устанавливается в VS2008, а также VS2010, я считаю.
Вы пытались использовать только [Microsoft] (http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx)? Он работает, переписывая MSIL, поэтому это не настоящая «библиотека», и я ожидаю, что это будет нормально работать на 3.5. –
Когда я добавляю «using System.Diagnostics.Contracts;» В нем говорится, что контрактов там нет. MSDN говорит, что он находится в файле mscorlib.dll. Я был бы удивлен, если бы мог ссылаться на версию 4.0 из проекта, ориентированного на 3.5. – MatthewMartin
Попробуйте обратиться к dll Microsoft.Contracts. Во всяком случае, это были 3.5 классы. –