У нас есть решение VisualStudio среднего размера, содержащее 60 проектов. Каждый проект содержит кодовые контракты. Поскольку мы используем Contract.Requires<T>
для наших предварительных условий, нам необходимо, чтобы наши сборки были перезаписаны после компиляции.Как улучшить производительность конвертера CodeContract в VS2012?
Режим сборки - «Стандартный контракт требуется», проверка выполнения установлена на «полный», и у нас есть «Assert on contract failure». Ссылка на контрактную сборку установлена на «Build».
После изменения с VS2010 на VS2012 (VS2010 был удален до установки) наше решение построило бы в 1m 30s. После установки установочного пакета CodeContracts время сборки увеличилось до 5 м 30 с (поскольку бинарный перезаписывающий модуль теперь переписывал сборки).
Это намного дольше, чем потребовалось, чтобы построить решение в VS2010, которое заняло около 3 м для полной перестройки.
Кто-нибудь испытал подобное замедление или имеет представление о том, как можно улучшить ситуацию?
Мы уже пытались отключить строительство ссылочной сборки контракта, но это ничего не изменило.
Один из моих коллег использует VS2012 с нашим решением, имеющим кодовые контракты, и он этого не видит (хотя у нас только около 5 проектов). Интересно, но если это связано с этой [публикацией форума] (http://social.msdn.microsoft.com/Forums/en-US/codecontracts/thread/d5a61334-9404-4a43-9836-294e71196c62). – Mightymuke