Динамическая проверка зависимостей visual studio
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Сведения о том, что код не конфликтует с его конструкцией, необходимо проверить код с помощью схем зависимостей в Visual Studio.
Проверка кода по схемам зависимостей
Зачем использовать схемы зависимостей?
Чтобы убедиться в том, что код не конфликтует с его конструкцией, выполните проверку кода с помощью схем зависимостей в Visual Studio. Это может помочь:
Поиск конфликтов между зависимостями в коде и зависимостями на схеме зависимостей.
Найти зависимости, на которые могут повлиять предложенные изменения.
Например, можно изменить схему зависимостей, чтобы показать потенциальные изменения архитектуры, а затем проверить код, чтобы увидеть затронутые зависимости.
Выполнить рефакторинг или миграцию кода в другую структуру.
Найти код или зависимости, с которыми потребуется выполнить определенные действия даже после перемещения кода в другую архитектуру.
Требования
Чтобы узнать, какие выпуски Visual Studio поддерживают эту функцию, см. раздел Поддержка инструментов моделирования и архитектуры в различных выпусках.
код можно проверить вручную из открытой схемы зависимостей в Visual Studio или из командной строки. вы также можете проверить код автоматически при выполнении локальных сборок или сборок Azure Pipelines.
[!IMPORTANT] если вы хотите выполнить проверку слоев с помощью Team Foundation Server (TFS), необходимо также установить на сервере сборки ту же версию Visual Studio.
Динамическая проверка зависимостей
Проверка зависимостей происходит в режиме реального времени, и ошибки отображаются сразу в Список ошибок.
Чтобы включить полный анализ решения при использовании динамической проверки зависимостей, откройте параметры в строке Gold, которая отображается в Список ошибок.
- Вы можете навсегда отклонить строку Gold, если вы не хотите видеть все проблемы архитектуры в решении.
- Если не включить полный анализ решений, анализ выполняется только для редактируемых файлов.
При обновлении проектов для включения динамической проверки в диалоговом окне отображается ход выполнения преобразования.
при обновлении проекта для динамической проверки зависимостей версия пакета NuGet обновляется так же, как и для всех проектов, и является самой высокой используемой версией.
Добавление нового проекта проверки зависимостей активирует обновление проекта.
Определение, поддерживает ли элемент проверку
слои можно связывать с веб-сайтами, Office документами, обычными текстовыми файлами и файлами в проектах, которые являются общими для нескольких приложений, но в процессе проверки их не включаются. Ошибки проверки для ссылок на проекты или сборки, связанные с отдельными слоями, отображаются только в том случае, если между этими слоями отображаются зависимости. Эти ссылки считаются зависимостями, только если используются в коде.
На схеме зависимостей выберите один или несколько слоев, щелкните правой кнопкой мыши выделенный фрагмент и выберите пункт Просмотреть ссылки.
В обозревателе слоев просмотрите столбец поддерживает проверку . Если значение равно false, элемент не поддерживает проверку.
В Обозреватель решений щелкните правой кнопкой мыши проект моделирования или папку ссылки на слой , а затем выберите команду Добавить ссылку.
В диалоговом окне Добавление ссылки выберите сборки или проекты, а затем нажмите кнопку ОК.
Проверка кода вручную
При наличии открытой схемы зависимостей, связанной с элементами решения, можно выполнить команду проверить ярлык на схеме. Можно также использовать командную строку для выполнения команды MSBuild с настраиваемым свойством /p: validatearchitectureonbuild , установленным в значение true. Например, при внесении изменений в код регулярно выполняйте проверку слоев, чтобы заранее обнаруживать конфликты зависимостей.
Проверка кода на основе открытой схемы зависимостей
Щелкните правой кнопкой мыши поверхность схемы и выберите пункт Проверить архитектуру.
[!NOTE] По умолчанию свойству действие сборки в файле схемы зависимостей (. LAYERDIAGRAM) присваивается значение Проверка , чтобы схема включалась в процесс проверки.
Окно Список ошибок сообщает о любых произошедших ошибках. Дополнительные сведения об ошибках проверки см. в разделе Устранение неполадок при проверке слоев.
Чтобы просмотреть источник каждой ошибки, дважды щелкните ошибку в окне Список ошибок .
[!NOTE] Visual Studio может показывать карту кода вместо источника ошибки. Это происходит, когда либо код имеет зависимость от сборки, которая не указана схемой зависимостей, либо в коде отсутствует зависимость, указанная схемой зависимостей. Просмотрите карту кода или код, чтобы определить, должна ли существовать зависимость. Дополнительные сведения о картах кода см. в статье сопоставление зависимостей в решениях.
Сведения об управлении ошибками см. в разделе разрешение ошибок проверки слоев.
Проверка кода в командной строке
откройте командную строку Visual Studio.
Выберите один из следующих вариантов.
чтобы проверить код для конкретного проекта моделирования в решении, выполните MSBuild со следующим пользовательским свойством.
перейдите в папку, содержащую файл проекта моделирования (modelproj) и схему зависимостей, а затем запустите MSBuild со следующим пользовательским свойством:
чтобы проверить код для всех проектов моделирования в решении, запустите MSBuild со следующим пользовательским свойством:
перейдите к папке решения, которая должна содержать проект моделирования, содержащий схему зависимостей, а затем запустите MSBuild со следующим пользовательским свойством:
Отобразятся любые возникающие ошибки. дополнительные сведения о MSBuild см. в разделе задача MSBuild и MSBuild.
Дополнительные сведения об ошибках проверки см. в разделе Устранение неполадок при проверке слоев.
Управление ошибками проверки
В процессе разработки может понадобиться подавить некоторые конфликты, выявленные в ходе проверки. Например, можно подавлять ошибки, над которыми уже ведется работа, а также ошибки, не имеющие отношения к конкретному сценарию. При подавлении ошибки рекомендуется вести журнал рабочего элемента в Team Foundation.
[!WARNING] Вы должны быть уже подключены к управлению исходным кодом (SCC) TFS для создания рабочего элемента или связи с ним. При попытке открыть соединение с другим SCC TFS Visual Studio автоматически закрывает текущее решение. Убедитесь, что вы уже подключены соответствующему SCC, перед попыткой создания рабочего элемента или связи с ним. В последних выпусках Visual Studio команды меню недоступны, если вы не подключены к SCC.
Создание рабочего элемента для ошибки проверки
- В окне Список ошибок щелкните ошибку правой кнопкой мыши, наведите указатель на пункт создать рабочий элемент, а затем выберите тип рабочего элемента, который требуется создать.
Используйте эти задачи для управления ошибками проверки в окне Список ошибок :
Отобразятся подавленные ошибки с форматированием в виде зачеркивания. При выполнении проверки в следующий раз эти ошибки отображаться не будут.
Автоматическая проверка кода
Проверку слоев можно выполнять при каждом выполнении локальной сборки. если ваша команда использует Azure DevOps, можно выполнить проверку слоев с помощью условных возвратов, которые можно указать, создав пользовательскую задачу MSBuild, и использовать отчеты построения для получения ошибок проверки. Сведения о создании сборок с условным возвратом см. в разделе TFVC с проверкой изменений.
Автоматическая проверка кода во время локальной сборки
Откройте файл проекта моделирования (.modelproj) в текстовом редакторе и включите следующее свойство.
В Обозреватель решений щелкните правой кнопкой мыши проект моделирования, содержащий диаграмму зависимостей или диаграммы, и выберите пункт свойства.
В окне Свойства задайте для свойства Проверить архитектуру проекта моделирования значение true.
Это позволяет включить проект моделирования в процесс проверки.
В Обозреватель решений щелкните файл схемы зависимостей (. LAYERDIAGRAM), который вы хотите использовать для проверки.
В окне Свойства убедитесь, что для свойства действие построения схемы задано значение Проверка.
Сюда входит схема зависимостей в процессе проверки.
Сведения об управлении ошибками в окне список ошибок см. в разделе разрешение ошибок проверки слоев.
Устранение неполадок проверки слоев
Следующая таблица описывает проблемы проверки слоев и способы их устранения. Эти проблемы отличаются от ошибок, возникающих из-за несоответствия между кодом и структурой. Дополнительные сведения об этих ошибках см. в разделе Устранение неполадок при проверке слоев.
Разрешение ошибок проверки слоев
При проверке кода на соответствие схеме зависимостей ошибки проверки возникают, когда код конфликтует с конструкцией. Например, ошибки проверки могут происходить по следующим причинам:
Артефакт назначен неправильному слою. В этом случае следует переместить артефакт.
Способ использования артефактом (например, классом) другого класса конфликтует с имеющейся архитектурой. В этом случае необходимо выполнить рефакторинг кода, чтобы устранить зависимость.
Для устранения этих ошибок следует обновлять код до тех пор, пока в процессе проверки не перестанут происходить ошибки. Эту процедуру можно выполнить методом итераций.
В следующем разделе описывается синтаксис, используемый в этих ошибках, объясняется значение этих ошибок и предлагаются пути решения или управления ими.
Артифакттипен — это тип Артифактн, например класс или метод, например:
Чтобы убедиться в том, что код не конфликтует с его конструкцией, выполните проверку кода с помощью схем зависимостей в Visual Studio. Это может помочь:
Поиск конфликтов между зависимостями в коде и зависимостями на схеме зависимостей.
Найти зависимости, на которые могут повлиять предложенные изменения.
Например, можно изменить схему зависимостей, чтобы показать потенциальные изменения архитектуры, а затем проверить код, чтобы увидеть затронутые зависимости.
Выполнить рефакторинг или миграцию кода в другую структуру.
Найти код или зависимости, с которыми потребуется выполнить определенные действия даже после перемещения кода в другую архитектуру.
Требования
Чтобы узнать, какие выпуски Visual Studio поддерживают эту функцию, см. раздел Поддержка инструментов моделирования и архитектуры в различных выпусках.
код можно проверить вручную из открытой схемы зависимостей в Visual Studio или из командной строки. вы также можете проверить код автоматически при выполнении локальных сборок или сборок Azure Pipelines.
если вы хотите выполнить проверку слоев с помощью Team Foundation Server (TFS), необходимо также установить на сервере сборки ту же версию Visual Studio.
Динамическая проверка зависимостей
Проверка зависимостей происходит в режиме реального времени, и ошибки отображаются сразу в Список ошибок.
Чтобы включить полный анализ решения при использовании динамической проверки зависимостей, откройте параметры в строке Gold, которая отображается в Список ошибок.
- Вы можете навсегда отклонить строку Gold, если вы не хотите видеть все проблемы архитектуры в решении.
- Если не включить полный анализ решений, анализ выполняется только для редактируемых файлов.
При обновлении проектов для включения динамической проверки в диалоговом окне отображается ход выполнения преобразования.
при обновлении проекта для динамической проверки зависимостей версия пакета NuGet обновляется так же, как и для всех проектов, и является самой высокой используемой версией.
Добавление нового проекта проверки зависимостей активирует обновление проекта.
Определение, поддерживает ли элемент проверку
слои можно связывать с веб-сайтами, Office документами, обычными текстовыми файлами и файлами в проектах, которые являются общими для нескольких приложений, но в процессе проверки их не включаются. Ошибки проверки для ссылок на проекты или сборки, связанные с отдельными слоями, отображаются только в том случае, если между этими слоями отображаются зависимости. Эти ссылки считаются зависимостями, только если используются в коде.
На схеме зависимостей выберите один или несколько слоев, щелкните правой кнопкой мыши выделенный фрагмент и выберите пункт Просмотреть ссылки.
В обозревателе слоев просмотрите столбец поддерживает проверку . Если значение равно false, элемент не поддерживает проверку.
В Обозреватель решений щелкните правой кнопкой мыши проект моделирования или папку ссылки на слой , а затем выберите команду Добавить ссылку.
В диалоговом окне Добавление ссылки выберите сборки или проекты, а затем нажмите кнопку ОК.
Проверка кода вручную
При наличии открытой схемы зависимостей, связанной с элементами решения, можно выполнить команду проверить ярлык на схеме. Можно также использовать командную строку для выполнения команды MSBuild с настраиваемым свойством /p: validatearchitectureonbuild , установленным в значение true. Например, при внесении изменений в код регулярно выполняйте проверку слоев, чтобы заранее обнаруживать конфликты зависимостей.
Проверка кода на основе открытой схемы зависимостей
Щелкните правой кнопкой мыши поверхность схемы и выберите пункт Проверить архитектуру.
По умолчанию свойству действие сборки в файле схемы зависимостей (. LAYERDIAGRAM) присваивается значение Проверка , чтобы схема включалась в процесс проверки.
Окно Список ошибок сообщает о любых произошедших ошибках. Дополнительные сведения об ошибках проверки см. в разделе Устранение неполадок при проверке слоев.
Чтобы просмотреть источник каждой ошибки, дважды щелкните ошибку в окне Список ошибок .
Visual Studio может показывать карту кода вместо источника ошибки. Это происходит, когда либо код имеет зависимость от сборки, которая не указана схемой зависимостей, либо в коде отсутствует зависимость, указанная схемой зависимостей. Просмотрите карту кода или код, чтобы определить, должна ли существовать зависимость. Дополнительные сведения о картах кода см. в статье сопоставление зависимостей в решениях.
Сведения об управлении ошибками см. в разделе разрешение ошибок проверки слоев.
Проверка кода в командной строке
откройте командную строку Visual Studio.
Выберите один из следующих вариантов.
чтобы проверить код для конкретного проекта моделирования в решении, выполните MSBuild со следующим пользовательским свойством.
перейдите в папку, содержащую файл проекта моделирования (modelproj) и схему зависимостей, а затем запустите MSBuild со следующим пользовательским свойством:
чтобы проверить код для всех проектов моделирования в решении, запустите MSBuild со следующим пользовательским свойством:
перейдите к папке решения, которая должна содержать проект моделирования, содержащий схему зависимостей, а затем запустите MSBuild со следующим пользовательским свойством:
Отобразятся любые возникающие ошибки. дополнительные сведения о MSBuild см. в разделе задача MSBuild и MSBuild.
Дополнительные сведения об ошибках проверки см. в разделе Устранение неполадок при проверке слоев.
Управление ошибками проверки
В процессе разработки может понадобиться подавить некоторые конфликты, выявленные в ходе проверки. Например, можно подавлять ошибки, над которыми уже ведется работа, а также ошибки, не имеющие отношения к конкретному сценарию. При подавлении ошибки рекомендуется вести журнал рабочего элемента в Team Foundation.
Вы должны быть уже подключены к управлению исходным кодом (SCC) TFS для создания рабочего элемента или связи с ним. При попытке открыть соединение с другим SCC TFS Visual Studio автоматически закрывает текущее решение. Убедитесь, что вы уже подключены соответствующему SCC, перед попыткой создания рабочего элемента или связи с ним. В последних выпусках Visual Studio команды меню недоступны, если вы не подключены к SCC.
Создание рабочего элемента для ошибки проверки
- В окне Список ошибок щелкните ошибку правой кнопкой мыши, наведите указатель на пункт создать рабочий элемент, а затем выберите тип рабочего элемента, который требуется создать.
Используйте эти задачи для управления ошибками проверки в окне Список ошибок :
Отобразятся подавленные ошибки с форматированием в виде зачеркивания. При выполнении проверки в следующий раз эти ошибки отображаться не будут.
Автоматическая проверка кода
Проверку слоев можно выполнять при каждом выполнении локальной сборки. если ваша команда использует Azure DevOps, можно выполнить проверку слоев с помощью условных возвратов, которые можно указать, создав пользовательскую задачу MSBuild, и использовать отчеты построения для получения ошибок проверки. Сведения о создании сборок с условным возвратом см. в разделе TFVC с проверкой изменений.
Автоматическая проверка кода во время локальной сборки
Откройте файл проекта моделирования (.modelproj) в текстовом редакторе и включите следующее свойство.
В Обозреватель решений щелкните правой кнопкой мыши проект моделирования, содержащий диаграмму зависимостей или диаграммы, и выберите пункт свойства.
В окне Свойства задайте для свойства Проверить архитектуру проекта моделирования значение true.
Это позволяет включить проект моделирования в процесс проверки.
В Обозреватель решений щелкните файл схемы зависимостей (. LAYERDIAGRAM), который вы хотите использовать для проверки.
В окне Свойства убедитесь, что для свойства действие построения схемы задано значение Проверка.
Сюда входит схема зависимостей в процессе проверки.
Сведения об управлении ошибками в окне список ошибок см. в разделе разрешение ошибок проверки слоев.
Устранение неполадок проверки слоев
Следующая таблица описывает проблемы проверки слоев и способы их устранения. Эти проблемы отличаются от ошибок, возникающих из-за несоответствия между кодом и структурой. Дополнительные сведения об этих ошибках см. в разделе Устранение неполадок при проверке слоев.
Разрешение ошибок проверки слоев
При проверке кода на соответствие схеме зависимостей ошибки проверки возникают, когда код конфликтует с конструкцией. Например, ошибки проверки могут происходить по следующим причинам:
Артефакт назначен неправильному слою. В этом случае следует переместить артефакт.
Способ использования артефактом (например, классом) другого класса конфликтует с имеющейся архитектурой. В этом случае необходимо выполнить рефакторинг кода, чтобы устранить зависимость.
Для устранения этих ошибок следует обновлять код до тех пор, пока в процессе проверки не перестанут происходить ошибки. Эту процедуру можно выполнить методом итераций.
В следующем разделе описывается синтаксис, используемый в этих ошибках, объясняется значение этих ошибок и предлагаются пути решения или управления ими.
Артифакттипен — это тип Артифактн, например класс или метод, например:
Чтобы приложение соответствовало требованиям архитектуры, используйте для его проектирования и моделирования инструменты моделирования и разработки архитектуры Visual Studio.
Чтобы эффективнее анализировать существующий программный код, вы можете визуализировать его структуру, поведение и связи, используя карты кода и схемы зависимостей.
- Создавайте карты кода, чтобы видеть его организацию и связи.
- Визуализируйте зависимости между сборками, пространствами имен, классами, методами и т. д.
- Находите в структуре кода конфликты, создавая схемы зависимостей для его проверки. для изучения структуры и членов классов в конкретном проекте. , используя блоки текста и содержащуюся в шаблонах логику управления для создания текстовых файлов.
Расскажите своей команде о необходимости учитывать зависимости архитектуры.
Программа позволяет создавать модели с разным уровнем детализации на протяжении всего жизненного цикла приложения.
Карты кода
Карты кода — это один из типов моделей, помогающих анализировать организацию кода и его связи.
Изучайте с помощью карт программный код, чтобы эффективнее выявлять его структуру, зависимости и способы обновления, а также рассчитывать стоимость внедрения предлагаемых изменений.
Схемы зависимостей
Схемы зависимостей позволяют определить структуру приложения как набор слоев или блоков с явно заданными зависимостями. Динамическая проверка показывает конфликты между зависимостями в коде и зависимостями, описанными в схеме зависимостей.
Используйте схемы зависимостей для следующих целей.
- Стабилизация структуры приложения путем внесения многочисленных изменений на протяжении его жизненного цикла.
- Выявление непредвиденных конфликтов зависимостей до возвращения внесенных в код изменений.
Модели предметно-ориентированного языка (DSL)
Предметно-ориентированный язык представляет собой нотацию, разработанную для определенной цели. В Visual Studio обычно используется графическая нотация.
Используйте предметно-ориентированный (иначе — доменный) язык для следующих целей.
- Создание или настройка частей приложения. Разработка нотации и инструментов требует усилий. Результат может лучше соответствовать вашему домену, чем настройка языка UML.
- Крупные проекты или линейки продуктов, когда инвестиции в разработку предметно-ориентированного языка и его инструментов окупаются за счет его использования сразу в нескольких проектах.
Поддерживаемые выпуски для средств моделирования и архитектуры
Доступно несколько различных выпусков Visual Studio. Не все из них поддерживают средства моделирования и архитектуры. Следующая таблица содержит сведения о доступности каждого средства.
Удаление нежелательных зависимостей является важной частью управления технической задолженностью. Visual Studio обеспечивает динамическую проверку зависимостей, включая точную информацию о проблемах, например место их расположения. При проверке зависимостей в реальном времени используются все преимущества новых функций в список ошибок и редакторе.
Процесс создания изменений изменился, чтобы проверка зависимостей стала более доступной и более удобной. Терминология изменена с "Схема слоев" на "Схема зависимостей".
Меню архитектура теперь содержит команду для непосредственного создания схемы зависимостей.
Имена и описания свойств слоя были изменены, чтобы сделать их более осмысленными:
Вы сразу же увидите влияние изменений в результатах анализа для текущего кода в решении при каждом сохранении диаграммы. Не нужно ждать завершения команды проверить зависимости .
Дополнительные сведения см. в этой записи блога.
Конструкторы UML были удалены
Конструкторы UML были удалены из Visual Studio.
- Схемы UML теперь представлены в виде XML-файлов
- Обозреватель моделей UML больше не существует
- Ссылки проекта моделирования больше не используются для проверки зависимостей
- Узел "ссылки на слои" в обозреватель решений больше не отображается
- Действие "проверить" на схеме зависимости (слоя) больше не используется — задача сборки была удалена
- Структура проекта поддерживается для циклической обработки между версиями
- Вы по-прежнему можете открыть, создать, изменить и сохранить схему зависимости (слоя) в виде XML.
- Рабочие элементы TFS, связанные с диаграммой зависимостей (слоем), недоступны в области конструктора
- Обратная связь из в DSL или слой больше не поддерживается
- Расширения UML в пакете SDK для моделирования больше не поддерживаются
если вы являетесь важным пользователем конструкторов UML, вы можете продолжать использовать Visual Studio 2015 или более ранних версий, а также выбрать альтернативное средство для нужд UML.
Дополнительные сведения см. в этой записи блога.
Компонент Text Template Transformation (Преобразование текстовых шаблонов) автоматически устанавливается как часть рабочей нагрузки разработки расширений Visual Studio. Его также можно установить на вкладке Отдельные компоненты Visual Studio Installer в категории Пакеты SDK, библиотеки и платформы. Установите компонент Пакет SDK для моделирования со вкладки Отдельные компоненты.
Поддерживаемые выпуски для средств моделирования и архитектуры
Доступно несколько различных выпусков Visual Studio. Не все из них поддерживают средства моделирования и архитектуры. Следующая таблица содержит сведения о доступности каждого средства.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Узнайте, как с помощью карт кода можно увидеть, как код соответствует друг другу, не считывая файлы и строки кода.
Сопоставление зависимостей с картами кода
В этой статье вы узнаете, как визуализировать зависимости в коде с помощью карт кода.
Что такое карты кода?
в Visual Studio карты кода позволяют быстрее понять, как программный код объединяется, не считывая файлы и строки кода. С помощью этих карт можно видеть Организацию и связи в коде, включая его структуру и зависимости, обновлять ее и оценивать стоимость предлагаемых изменений.
Сопоставлять зависимости в коде можно на следующих языках:
для создания и редактирования карт кода требуется Visual Studio Enterprise edition. однако в выпусках Visual Studio Community и Professional можно открывать диаграммы, созданные в Enterprise edition, но нельзя изменять их.
[!NOTE] перед предоставлением общего доступа к картам, созданным в Visual Studio Enterprise с другими пользователями, которые используют Visual Studio Professional, убедитесь, что все элементы на карте (такие как скрытые элементы, развернутые группы и связи между группами) видимы.
Добавить карту кода
Можно создать пустую карту кода и перетащить на нее элементы, в том числе ссылки на сборки, файлы и папки, или создать карту кода для всего или части решения.
Чтобы добавить пустую карту кода, сделайте следующее:
В обозревателе решений откройте контекстное меню верхнего узла решения. Выберите Добавить > новый элемент.
В диалоговом окне Добавление нового элемента в разделе установленные выберите категорию Общие .
выберите шаблон Graph документ (dgml) и нажмите кнопку добавить.
[!TIP] Этот шаблон может не отображаться в алфавитном порядке, поэтому прокрутите список до нижней части списка шаблонов, если он не отображается.
В папке элементы решения решения отобразится пустая схема.
Аналогичным образом можно создать новый файл с картой кода, не добавляя его в решение, выбрав архитектура > создать карту кода или файл > создать > файл.
Создать карту кода для вашего решения
Чтобы просмотреть все зависимости в решении, выполните следующие действия.
В строке меню выберите архитектура > создать карту кода для решения. Если код не изменился со времени последнего построения, можно выбрать архитектура > создать карту кода для решения без сборки .
Создается сопоставление, показывающее сборки верхнего уровня и Объединенные ссылки между ними. Чем шире совокупная связь, тем больше зависимостей она представляет.
Чтобы открыть список значков, обозначающих различные типы проектов (такие как тестовый, веб- или телефонный проект), элементов кода (таких как классы, методы и свойства) и типов отношений (таких как «Наследует от», «"Реализует» и «Вызывает»), нажмите кнопку Условные обозначения .
Решение в этом примере включает папки решений (Тесты и Компоненты), тестовые проекты, веб-проекты и сборки. По умолчанию все отношения вложения представляются в виде групп, которые можно развернуть и свернуть. Группа Внешние содержит объекты вне решения, в том числе зависимости платформы. Во внешних сборках отображаются только используемые элементы. Для удобства системные базовые типы на карте по умолчанию скрыты.
Чтобы детализировать карту, разверните группы, представляющие проекты и сборки. Чтобы развернуть все компоненты, выделите все узлы нажатием клавиш CTRL+A , а затем последовательно выберите в контекстном меню пункты Группа и Развернуть .
В большом решении это не пригодится. Более того, если решение комплексное, ограничения памяти могут не позволить развернуть все группы. Вместо этого разворачивайте отдельные интересующие вас узлы. Наведите указатель мыши на верхнюю часть узла и нажмите на значок шеврона (стрелка вниз), когда он появится.
Или используйте клавиатуру, выбрав элемент и нажав клавишу «плюс» ( + ). Чтобы изучить более глубокие уровни кода, проделайте то же самое для пространств имен, типов и членов.
[!TIP] Дополнительные сведения о работе с картами кода с помощью мыши, клавиатуры и сенсорного экрана см. в разделе Обзор и реорганизация карт кода.
Чтобы упростить карту и выделить ее отдельные части, выберите Фильтры на панели элементов в карте кода и отметьте только те типы узлов и связей, которые вас интересуют. Например, можно скрыть все контейнеры папки решения и сборки.
Карты можно также упростить, скрыв или удалив отдельные группы и элементы, но не меняя базовый код решения.
Чтобы просмотреть отношения между элементами, выберите их на карте. Цвета связей обозначают типы отношений, как показано на панели Условные обозначения .
В этом примере фиолетовые связи обозначают вызовы, пунктирные — ссылки, а голубые — доступ к полю. Зеленые связи могут представлять наследование, а также совокупные связи , обозначающие сразу несколько видов отношений (или категорий).
[!TIP] Если отображается зеленая связь, это не обязательно означает наличие только отношения наследования. Это могут быть также вызовы методов, но они скрыты за отношением наследования. Чтобы просмотреть определенные типы ссылок, используйте флажки на панели " фильтры ", чтобы скрыть ненужные типы.
Для получения дополнительных сведений об элементе или связи наведите указатель на элемент или связь и дождитесь появления подсказки. Подсказка будет содержать подробные сведения об элементе кода или представляемых связью категориях.
Чтобы проверить элементы и зависимости, представленные совокупной связью, выберите связь и откройте ее контекстное меню. Выберите пункт Показать добавляющие ссылки (или Показать добавляющие ссылки на новой карте кода). Программа развернет группы на обоих концах связи и отобразит только те элементы и зависимости, которые участвуют в связи.
Чтобы сосредоточиться на конкретных частях схемы, можно продолжить удалять ненужные элементы. Например, чтобы получить детализированное представление класса и его членов, просто отфильтруйте все узлы пространства имен на панели Фильтры .
Еще один способ концентрации в комплексном решении — это создать новую карту с выбранными элементами существующей карты. удерживайте клавишу Ctrl при выборе элементов, на которых нужно сосредоточиться, откройте контекстное меню и выберите пункт создать Graph из области выделения.
Выбранные элементы будут добавлены в новую карту вместе с контекстом. Скрыть папки решений и другие контейнеры, которые не должны отображаться с помощью панели " фильтры ".
Разверните группы и выберите элементы на карте, чтобы просмотреть отношения.
Предположим, что у вас есть проверка кода для выполнения в некоторых файлах с ожидающими изменениями. Чтобы просмотреть зависимости в этих изменениях, создайте карту кода на основе этих файлов.
В Обозреватель решений выберите проекты, ссылки на сборки, папки, файлы, типы или элементы, которые необходимо сопоставлять.
на панели инструментов обозреватель решений нажмите кнопку отобразить на карте кода . Также можно открыть контекстное меню для одной или группы элементов и выбрать команду « отобразить на карте кода».
Кроме того, можно перетаскивать элементы из Обозреватель решений, представление классов или обозревателя объектов в новую или существующую карту кода. Чтобы включить родительскую иерархию для элементов, нажмите и удерживайте клавишу CTRL во время перетаскивания элементов или используйте кнопку включить родителей на панели инструментов карту кода, чтобы указать действие по умолчанию. файлы сборки также можно перетаскивать извне Visual Studio, например из Windows Explorer.
[!NOTE] при добавлении элементов из проекта, который совместно используется несколькими приложениями, например Windows Phone или Microsoft Store, эти элементы отображаются на карте с активным проектом приложения. Если изменить контекст на другой проект приложения и добавить дополнительные элементы из общего проекта, эти элементы отобразятся на карте с новым активным проектом приложения. Операции, выполняемые с элементом на карте, применяются только к тем элементам, которые имеют общий контекст.
На картах кода выбранные элементы отображаются в сборках, частью которых они являются.
Для исследования элементов разверните их. Наведите указатель мыши на элемент и щелкните значок шеврона (стрелка вниз), когда он появится.
Чтобы развернуть все элементы, выделите их с помощью клавиши CTRL + A, а затем откройте контекстное меню для этой схемы и выберите пункт Группа > развернуть. Этот параметр недоступен, если при развертывании всех групп карта кода станет непригодна к использованию или возникнут проблемы с памятью.
Продолжайте развертывать интересующие вас элементы, если это необходимо, на уровне класса и члена.
Чтобы просмотреть элементы, которые находятся в коде, но не отображаются на карте, щелкните значок повторно извлечь дочерние элементы значок повторной в левом верхнем углу группы.
Для просмотра дополнительных элементов, связанных с элементами на карте, выделите нужный элемент и выберите команду Показать связанные на панели инструментов карты кода. После этого выберите тип связанных элементов, которые нужно добавить на карту. Кроме того, можно выбрать один или несколько элементов, открыть контекстное меню и выбрать параметр Показывать для типа связанных элементов, добавляемых на карту. Пример:
Для сборки выберите пункт:
Параметр | Описание |
---|---|
Показать сборки, на которые ссылается эта сборка | Добавьте сборки, на которые ссылается данная сборка. Внешние сборки приводятся в группе Внешние . |
Показать сборки, которые ссылаются на эту сборку | Добавьте в решение сборки, которые ссылаются на данную сборку. |
Для пространства имен выберите пункт Показать содержащую сборку, если она еще не открыта.
Для класса или интерфейса выберите пункт:
Для метода выберите пункт:
Параметр | Описание |
---|---|
Показать методы, вызываемые этим методом | Добавьте методы, вызываемые данным методом. |
Показать поля, на которые ссылается это поле | Добавьте поля, на которые ссылается данный метод. |
Показать содержащий тип | Добавьте родительский тип. |
Показать содержащие тип, пространство имен и сборку | Добавьте родительскую иерархию контейнера. |
Показать переопределенные методы | Для метода, переопределяющего другие методы или реализующего метод интерфейса, добавьте все абстрактные или виртуальные методы в переопределенные базовые классы и реализованный метод интерфейса (если имеется). |
Для поля или свойства выберите пункт:
Параметр | Описание |
---|---|
Показать содержащий тип | Добавьте родительский тип. |
Показать содержащие тип, пространство имен и сборку | Добавьте родительскую иерархию контейнера. |
На карте показаны отношения. В этом примере на карте показаны методы, вызываемые Find методом и их расположением в решении или извне.
Чтобы упростить карту и выделить ее отдельные части, выберите Фильтры на панели элементов в карте кода и отметьте только те типы узлов и связей, которые вас интересуют. Например, отключите отображение папок решения, сборок и пространств имен.
Читайте также: