.NET 4 представленных Контракта Кода как новая возможность. Я хотел бы использовать CC, но обеспечить файлы, которые могут все еще работать в 3,5 SP1. Это возможно? Я могу только использовать части новой функциональности? По-видимому, возможно иметь CC, только делают статические проверки, не будучи включенным в двоичные файлы, который корректен?
Я знаю, что CC был доступен для 3,5 как отдельный модуль, действительно ли это - выполнимое обходное решение в случае, если я не могу использовать 4 версии CC? Существует ли различие в наборе функций?
Я бы хотел использовать CC, но предоставил файлы , которые все еще могут работать в 3.5 SP1. Возможно ли это ?
Вы не можете использовать .NET 4.0 CC, но можете использовать Microsoft.Contracts.dll, которая является сборкой 3.5 CC.
Очевидно, CC может выполнять только статические проверки без включения в двоичные файлы, это правильно?
Да. Премиум-версия включает статическую проверку, но вам потребуется VS2008 Team System или VS2010 Premium / Ultimate, чтобы использовать Code Contracts Premium Edition.
Мне известно, что CC был доступен для версии 3.5 как отдельный модуль, возможно ли это обходное решение в случае, если я не могу использовать версию CC 4 ?
Да, он все еще доступен. Получите его с http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx
Да, вы можете использовать кодовые контракты с .NET 3.5 (но разумно разрабатывать с Visual Studio 2010, чтобы получить поддержку инструментов). Просто загрузите MSI с веб-сайта Code Contracts , установите и скопируйте библиотеки DLL из C: \ Program Files (x86) \ Microsoft \ Contracts \ Contracts \ v3.5
в свое решение. и ссылка Microsoft.Contracts.dll
явно во всех проектах, в которых он используется.
Если вы привязаны к более ранней версии Visual Studio, чем 2010, или к версии 2010, в которой нет поддержки контрактов кода, вы можете выполнить ccrewrite.exe
, ccrefgen. exe
и ccdocgen.exe
(расположенный в C: \ Program Files (x86) \ Microsoft \ Contracts \ Bin
) из командной строки как событие после сборки .