Visual Studio 2010 Premium включает инструменты контракта?

Согласно стандартам, pwd -P должен возвратить путь с разрешенными символьными ссылками.

функция C char *getcwd(char *buf, size_t size) от unistd.h должна иметь то же поведение.

getcwd pwd

7
задан Wim Coenen 2 March 2010 в 11:57
поделиться

3 ответа

Кажется, действительно существует некоторая путаница в отношении того, включены ли Code Contracts в структуру, которая поставляется с бета-версией 2 VS2010, или даже в сам VS2010. На форуме Code Contracts (и особенно this ) есть несколько упоминаний об этом, но пока нет ответов.


Я не думаю, что Code Contracts подпадает под заголовок статический анализ кода. Я думаю, что статический анализ кода относится к другим инструментам анализа кода, таким как FxCop.

Я пробовал использовать Contract.Requires в окончательной версии VS2010 beta 2, но у меня такое же поведение, как и у вас. Если вы посмотрите в свойствах проекта на вкладке «Анализ кода», вы можете включить анализ кода, но это не относится к контрактам кода.

Согласно комментарию Мелитты (из группы библиотек базовых классов) к статье о соединении Сделайте статическую проверку контракта данных доступной в Professional Edition :

... но ограничение на статический анализ инструмент обозначает этот предстоящий выпуск. Это обеспечивает последовательность в истории анализа кода, поскольку для инструментов статического анализа требуется VSTS.

Это предполагает, что вам (будет) необходимо иметь версию командной системы, чтобы получить версию Code Contracts во время компиляции.

3
ответ дан 7 December 2019 в 07:47
поделиться

Вам необходимо включить проверку времени выполнения контрактов кода свойства проекта. Если эта панель настроек не существует, вам необходимо установить программу Code Contracts, загружаемую из Microsoft (несмотря на то, что Contract.Requires существует во фреймворке).

В версиях Professional доступна только проверка времени выполнения.

1
ответ дан 7 December 2019 в 07:47
поделиться

To get static analysis in Beta 2 you have to download and install the Code Contracts bits (1.2.21023.14 or higher) from MSDN DevLabs. Then under the project properties, there will now be a Code Contracts tab... from here you can turn on static analysis...

The behaviour you're seeing is because the Code Contracts API is in mscorlib assembly, which allows asserts to work, but nothing else.

I'm assuming this won't be necessary by RTM.

3
ответ дан 7 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: