Поделиться через


Пошаговое руководство. Проверка управляемого кода на наличие дефектов

Обновлен: Ноябрь 2007

В данном пошаговом руководстве описывается процесс проверки управляемого проекта на наличие дефектов кода при помощи средства анализа кода.

Данное руководство содержит пошаговые инструкции по процессу анализа кода для проверки сборок управляемого кода .NET на соответствие правилам разработки решений Microsoft .NET.

В данном пошаговом руководстве:

  • Анализ предупреждений о дефектах кода и устранение их причины.

Обязательные компоненты

Проверка управляемого проекта на наличие дефектов в коде

  1. Откройте решение ManagedDemo в Development Edition.

  2. Выберите проект ManagedDemo в обозревателе решений.

  3. Выберите пункт Свойства в меню Проект.

    На экран будет выведена страница свойств проекта ManagedDemo.

  4. Выберите пункт Анализ кода.

  5. Выберите пункт Включить анализ кода (определяет константу CODE_ANALYSIS).

  6. Выберите пункт Сохранить выбранные элементы в меню Файл, затем закройте страницу свойств проекта ManagedDemo.

  7. Выберите пункт Построить ManagedDemo в меню Построение.

    Предупреждения построения проекта ManagedDemo отображаются в списке ошибок и в окне Вывод.

Исправление нарушений правил анализа кода

  1. Выберите пункт Список ошибок в меню Вид.

    В зависимости от выбранного профиля разработчика, возможно, понадобится навести указатель на пункт Другие окна в меню Вид и затем выбрать пункт Список ошибок.

  2. Выберите пункт Показать все файлы в обозревателе решений.

  3. После этого разверните узел "Конфигурация" и откройте файл AssemblyInfo.cs.

  4. Используйте сведения из следующей таблицы для устранения причины предупреждений:

Предупреждения

Устранение причины

Помечайте сборки атрибутом CLSCompliantAttribute: Microsoft.Design. Проект "ManagedDemo" должен быть помечен атрибутом CLSCompliantAttribute и иметь значение "true".

  1. Добавьте код usingSystem; в файл AssemblyInfo.cs.

  2. Затем добавьте код [assembly: CLSCompliant(true)] в конец файла AssemblyInfo.cs.

  3. Постройте проект заново.

Предупреждение компилятора (уровень 1) CS3008.

  1. Измените имя поля _item на ItemCount.

  2. Измените public static int item { get { return _item; } } так, чтобы вернулось значение ItemCount.

  3. Постройте проект заново.

Помечайте типы ISerializable атрибутом SerializableAttribute: Microsoft.Usage. Добавьте атрибут [Serializable] в тип "demo", поскольку данный тип реализует ISerializable.

  1. Добавьте атрибут [Serializable ()] в класс demo.

  2. Постройте проект заново.

Реализуйте стандартные конструкторы исключения: Microsoft.Design. Добавьте следующий конструктор в данный класс: public demo(String)

  • Добавьте конструктор public demo (String s) : base(s) { } в класс demo.

Реализуйте стандартные конструкторы исключения: Microsoft.Design. Добавьте следующий конструктор в данный класс: public demo(String, Exception)

  • Добавьте конструктор public demo (String s, Exception e) : base(s, e) { } в класс demo.

Реализуйте стандартные конструкторы исключения: Microsoft.Design. Добавьте следующий конструктор в данный класс: protected demo(SerializationInfo, StreamingContext)

  1. Добавьте код using System.Runtime.Serialization; в начало файла Class1.cs.

  2. Затем добавьте конструктор protected demo (SerializationInfo info, StreamingContext context) : base(info, context) { } в класс demo.

  3. Постройте проект заново.

Реализуйте стандартные конструкторы исключения: Microsoft.Design. Добавьте следующий конструктор в данный класс: public demo()

  1. Добавьте конструктор public demo () : base() { } в класс demo.

  2. Постройте проект заново.

Идентификаторы должны иметь правильные суффиксы: Microsoft.Naming. Измените имя "testCode.demo" на имя, заканчивающееся на "Exception".

  • Измените имя класса и его конструкторов на DemoException.

Идентификаторы должны иметь правильный регистр букв: Microsoft.Naming. Исправьте регистр имени пространства имен "testCode"

  • Измените регистр пространства имен testCode на TestCode.

Идентификаторы должны иметь правильный регистр букв: Microsoft.Naming. Исправьте регистр имени члена "item".

  • Измените имя члена на Item.

Сборки должны иметь допустимые строгие имена: Подпишите "ManagedDemo" ключом строгого имени.

  1. Выберите пункт Свойства ManagedDemo в меню Проект.

    На экран будут выведены свойства проекта.

  2. Нажмите кнопку Подписывание.

  3. Установите флажок Подписать сборку.

  4. Выберите в списке Выберите файл ключей строгого имени значение <Новый…>.

    Появится диалоговое окно Создание ключа строгого имени.

  5. В поле Имя файла ключей введите "TestKey".

  6. Введите пароль и нажмите кнопку OK.

  7. Выберите пункт Сохранить выбранные элементы в меню Файл, затем закройте страницы свойств.

  8. Постройте проект заново.

Исключение предупреждений анализа кода

Исключение предупреждений о дефектах кода

  1. Выделите оставшиеся предупреждения в списке ошибок, щелкните их правой кнопкой мыши и выберите пункт Подавить сообщения.

  2. Постройте проект заново.

    Построение проекта будет проходить без появления предупреждений и ошибок.