Нет кодовых контрактов не было добавлено ко всем BCL.Многие из наиболее распространенных классов добавили аннотацию, но вся BCL - нет.
Основная причина здесь - время.BCL огромен, и добавление правильных Контрактов ко всем BCL является массовым обязательством.И результат, в настоящее время, приносит пользу только небольшому подмножеству пользователей .Net.Если популярность контрактов возрастет, то я уверен, что их использование в рамках BCL также будет расти (да, я понимаю, что отсутствие одного контракта делает другой менее вероятным)
Эта проблема смягчается, хотя пользователи могут декларировать пользовательскиеКонтрактные сборки.Это позволяет им пост-аннотировать типы, которые были пропущены, и добираться до точки, где их кодовая база является чистой с точки зрения контрактов.