Я разрабатывал проект на С# в Visual Studio Express 2013 и натолкнулся на контракты кода для языков .NET. Под впечатлением их краткости и инструмента статического анализа, который был в их распоряжении, я начал использовать их в своей базе кода. Однако, когда я попытался запустить свою программу, меня встретило сообщение об ошибке, похожее на то, что было найдено в этой SO-теме, т.е.
... Сборка (вероятно, "& lt; мой проект & gt;") должна быть переписан с использованием кода контракта двоичного переписателя (CCRewrite), потому что он вызывает Contract.Requires и символ CONTRACTS_FULL определены. Удалите все явные определения символа CONTRACTS_FULL из вашего проекта и перестроить...
Руководства предполагают, что для решения этой проблемы я должен включить Контракты кода на странице свойств моего проекта, но в Экспрессе нигде нет записи о свойствах контрактов кода.
В некоторых ветках форума MSDN, похоже, указано, что все инструменты для Code Contracts включены в версию Express, а страница свойств Code Contracts - нет. Похоже, что так оно и было, поскольку я смог запустить свой проект в VSE 2013 только после включения Code Contracts с копией Visual Studio 2012 Ultimate, которую я приобрел в своем университете до выпуска.
Неужели нет никакого способа работать с контрактами кода в Visual Studio Express, кроме как путем изменения файлов проекта вручную или с помощью платной версии Visual Studio? Если это так, я крайне неохотно их использую, поскольку моя компания вряд ли приобретет лицензии VS. Кроме того, кажется крайне странным, что Microsoft попытается распространить эту новую и более совершенную парадигму проверки, но затем ограничит ее только платными клиентами.