Отображение времени сборки в Visual Studio? - PullRequest
163 голосов
/ 17 сентября 2008

Наш сервер сборки занимает слишком много времени, чтобы построить один из наших проектов C ++. Он использует Visual Studio 2008. Есть ли способ получить devenv.com для регистрации времени, затраченного на создание каждого проекта в решении, чтобы я знал, на чем сфокусировать свои усилия?

Улучшенное оборудование в этом случае не подходит.

Я попытался установить выходную детализацию (в меню Инструменты / Параметры / Проекты и решения / Построить и запустить / MSBuild - подробность сборки проекта). Похоже, что это не имеет никакого эффекта в IDE.

При запуске MSBuild из командной строки (а для Visual Studio 2008 это должен быть MSBuild v3.5), он отображает общее время, прошедшее в конце, но не в IDE.

Я действительно хотел получить отчет по каждому проекту в решении, от которого у меня ушло время, чтобы я мог понять, где процесс сборки занимает время.

В качестве альтернативы, поскольку мы фактически используем NAnt для управления процессом сборки (мы используем Jetbrains TeamCity), есть ли способ заставить NAnt указывать время, затраченное на каждый шаг?

Ответы [ 13 ]

184 голосов
/ 25 сентября 2008

Меню Инструменты Параметры Проекты и решения VC ++ Настройки проекта Время сборки должно работать .

76 голосов
/ 17 сентября 2008

Перейдите в Инструменты → Параметры → Проекты и решения → Построить и запустить → Детализация выходных данных сборки проекта MSBuild - установите значение «Нормальный» или «Подробный», и время сборки появится в окне вывода.

31 голосов
/ 08 августа 2014

Visual Studio 2012 до 2017

  • Для проектов MSBuild (например, все .Net-проекты):
    Нажмите Tools -> Options, а затем выберите Projects and Solutions -> Build and Run. Измените MSBuild project build output verbosity на Normal. Таким образом, он будет отображать прошедшее время в каждом построенном им проекте решения. Но, к сожалению, нет суммы истекшего времени по всему проекту. Вы также увидите метку времени начала сборки

  • ДЛЯ C / C ++ Проект:

Нажмите Tools -> Options и выберите Projects and Solutions -> VC++ Project Settings.

Измените Build Timing на Yes.

9 голосов
/ 08 июля 2013

Для Visual Studio 2012 вы можете использовать расширение Build Monitor .

5 голосов
/ 16 января 2013

Инструменты-> Параметры-> Проекты и решения-> Построить и запустить ->

Установите для "MSBuild Project buildbobity" значение "Minimal" в "Normal"

5 голосов
/ 07 апреля 2010

Если вы застряли на VS2005, вы можете использовать плагин vs-build-timer . По завершении сборки отображается общее время и (необязательно) сводка по каждой продолжительности проекта.

Отказ от ответственности; Я это написал. И да, мне нужно создать установщик ... однажды!

4 голосов
/ 17 сентября 2008

Поскольку ваш вопрос касается использования DevEnv из командной строки, я бы также предложил использовать MSBuild (который может создавать файлы .sln без изменений).

msbuild /fl /flp:Verbosity=diagnostic Your.sln

msbuild /? покажет вам другие полезные опции для filelogger.

3 голосов
/ 06 декабря 2015

Если вы хотите визуализировать вашу сборку, вы можете использовать IncrediBuild. IncrediBuild теперь доступен в автономном режиме (не распространяется, но используется только на 8 ядрах на локальном компьютере) бесплатно как часть обновления 1 для Visual Studio 2015

.

Отказ от ответственности: я работаю в IncrediBuild

2 голосов
/ 05 августа 2015

Сначала выполните сборку и посмотрите, какой проект появляется первым в выводе сборки ( Ctrl + Home в окне вывода). Щелкните правой кнопкой мыши этот проект → Свойства проекта Компиляция События сборки Предварительная сборка . И echo ###########%date% %time%#############.

Таким образом, каждый раз, когда вы видите результаты сборки (или во время сборки), выполните Ctrl + Home в окне вывода. И где-то в этом месте время и дата смотрят на тебя!

Да, и вы можете добавить эти детали во многие проекты, так как порядок сборки может измениться:)


Я нашел лучшее решение! ###

Инструменты Параметры Проекты и решения Сборка и запуск MSBuild Детализация сборки проекта = Нормальный (или выше Минимальный ). Это добавляет время в начало / верх окна вывода. Ctrl + Home в окне вывода следует сделать.

Если мы хотим узнать, сколько времени занимает каждый проект, тогда Проекты и решения Настройки проекта VC ++ Время сборки = да . Это применимо ко всем проектам; «VC ++» вводит в заблуждение.

2 голосов
/ 19 марта 2015

Я попал сюда, потому что я просто хотел, чтобы дата и время были включены в выходные данные сборки. Если другие ищут что-то похожее, это так же просто, как добавить echo %date% %time% к событиям Pre-build и / или Post-build в проекте, Properties Compile Build События .

...