Наш сервер сборки занимает слишком много времени, чтобы построить один из наших проектов C ++. Он использует Visual Studio 2008. Есть ли способ получить devenv.com для регистрации времени, затраченного на создание каждого проекта в решении, чтобы я знал, на чем сфокусировать свои усилия?
Улучшенное оборудование не вариант в этом случае.
Я попытался установить выходную детализацию (в меню Инструменты / Параметры / Проекты и решения / Построить и запустить / MSBuild - подробность сборки проекта). Похоже, это не имеет никакого эффекта в IDE.
При запуске MSBuild из командной строки (а для Visual Studio 2008 это должен быть MSBuild v3.5), он отображает общее время, прошедшее в конце, но не в IDE.
Я действительно хотел получить отчет по каждому проекту решения, на который уходит время, чтобы я мог выяснить, где процесс сборки занимает свое время.
В качестве альтернативы, поскольку мы фактически используем NAnt для управления процессом сборки (мы используем Jetbrains TeamCity), есть ли способ заставить NAnt сообщить мне время, затраченное на каждый шаг?
источник
Выберите «Инструменты» → «Параметры» → «Проекты и решения» → «Построить и запустить» → «Подробность сборки сборки проекта MSBuild» - установите «Нормальный» или «Детальный», и время сборки появится в окне вывода.
источник
Visual Studio 2012 - 2019
Для проектов MSBuild (например, всех .Net-проектов):
Нажмите,
Tools -> Options
а затем выберитеProjects and Solutions -> Build and Run
. ИзменитьMSBuild project build output verbosity
наNormal
. Таким образом, он будет отображать прошедшее время в каждом построенном им проекте решения. Но, к сожалению, нет суммы истекшего времени по всему проекту. Вы также увидите метку времени начала сборкиFOR C / C ++ Project:
Нажмите
Tools -> Options
и затем выберитеProjects and Solutions -> VC++ Project Settings
.Изменить
Build Timing
наYes
.источник
Build Timing
чтобы отображать только общее время.Для Visual Studio 2012 вы можете использовать расширение Build Monitor .
источник
Если вы застряли на VS2005, вы можете использовать плагин vs-build-timer . По завершении сборки он показывает общее время и (необязательно) сводку по каждой продолжительности проекта.
Отказ от ответственности; Я это написал. И да, мне нужно создать установщик ... однажды!
источник
Сервис-> Параметры-> Проекты и решения-> Построить и запустить->
Установите для "MSBuild Project buildbobity" значение "Минимальное" - "Нормальное".
источник
Если вы хотите визуализировать вашу сборку, вы можете использовать IncrediBuild. IncrediBuild теперь доступен в автономном режиме (не распространяется, но используется только на 8 ядрах на вашем локальном компьютере) бесплатно как часть обновления 1 для Visual Studio 2015
Отказ от ответственности: я работаю на IncrediBuild
источник
Поскольку ваш вопрос связан с использованием DevEnv из командной строки, я бы также предложил использовать MSBuild (который может создавать файлы .sln без изменений).
msbuild /?
покажет вам другие полезные опции для filelogger.источник
Я создал расширение для измерения времени сборки и представления порядка событий на графике: Visual Studio Build Timer .
Он доступен на рынке Visual Studio и работает для VS2015, VS2017 и VS2019.
Я нахожу визуальное представление весьма полезным. Помимо отображения того, какие проекты занимают больше времени, он также показывает зависимости между ними, то есть проекты, которые ждут завершения других, прежде чем начнутся. Таким образом, вы можете обнаружить узкие места в сборке и увидеть, какие зависимости необходимо разрушить, чтобы увеличить распараллеливание вашей сборки.
источник
Я оказался здесь, потому что просто хотел, чтобы дата и время были включены в выходные данные сборки. Если другие ищут что-то похожее, это так же просто, как добавить
echo %date% %time%
к событиям Pre-build и / или Post-build в проекте, Properties → Compile → Build Events .источник
Сначала выполните сборку и посмотрите, какой проект появляется первым в выводе сборки ( Ctrl+ Homeв окне вывода). Щелкните правой кнопкой мыши этот проект → Свойства проекта → Компиляция → События сборки → Предварительная сборка . И
echo ###########%date% %time%#############
.Поэтому каждый раз, когда вы видите результаты сборки (или во время сборки), делайте Ctrl+Home в окне вывода. И где-то в этом месте время и дата смотрят на тебя!
Да, и вы можете добавить эти детали во многие проекты, поскольку порядок сборки может измениться :)
Я нашел лучшее решение! ###
Инструменты → Параметры → Проекты и решения → Построить и запустить → MSBuild - подробность сборки проекта = Normal (или выше Minimal ). Это добавляет время в начало / верх окна вывода. Ctrl+ Homeв окне вывода надо делать.
Если мы хотим узнать, сколько времени занимает каждый проект, тогда Проекты и решения → Настройки проекта VC ++ → Время сборки = да . Это применимо ко всем проектам; «VC ++» вводит в заблуждение.
источник
Если вы хотите вызвать внешнюю программу, которая может отслеживать общее время сборки, вы можете использовать следующее решение для VS 2010 (и, возможно, старше). Код ниже использует CTime от Casey Muratori. Конечно, вы также можете использовать его, чтобы просто напечатать время сборки.
Откройте проводник макросов и вставьте следующее
End Module
:Ответ взят здесь и здесь .
источник
Параметры -> Проекты и решения -> Настройки проекта VC ++ -> Время сборки
источник