Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить?
Здравствуйте, Аноним, Вы писали:
А>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить?
Надо проверить зависимости между проектами.
Если зависимости правильные, то при изменение в одном проекте приведет к компиляции измененного и зависимых.
- Eugeny
Re[2]: Как ускорить компиляцию проекта на C#
От:
Аноним
Дата:
09.02.07 07:48
Оценка:
Здравствуйте, Murom, Вы писали:
M>Надо проверить зависимости между проектами. M>Если зависимости правильные, то при изменение в одном проекте приведет к компиляции измененного и зависимых.
Есть куча dll проектов и все они ссылаются на 1 exe проект (который и запускается )
Изменяешь что нить в в одном их dll и нажиаешь F5 . компиляется все. Зачем компилять заново те проекты, что я даже не открывал?
как ускорить компиляцию?
А>Есть куча dll проектов и все они ссылаются на 1 exe проект (который и запускается ) А>Изменяешь что нить в в одном их dll и нажиаешь F5 . компиляется все. Зачем компилять заново
зачем в длл ссылка на ехе? логичнее было бы ноборот сделать.
т.е. ехе-шник — вершина иерархии зависимостей ( использования ).
копаешь кнкретную длл — компилится только она, ну и зависимые от нее длл-ки, если такие есть.
когда собираешь весь проект, тогда уже все конечно компилится.
Здравствуйте, <Аноним>, Вы писали:
А>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить?
Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Как ускорить компиляцию проекта на C#
От:
Аноним
Дата:
09.02.07 09:08
Оценка:
Здравствуйте, Svjat, Вы писали:
S>зачем в длл ссылка на ехе? логичнее было бы ноборот сделать.
да точно это я и имел ввиду. перепутал чуток
S>когда собираешь весь проект, тогда уже все конечно компилится.
вот именно! можно как нить это обойти? если я в проекте ничего не изменял, то зачем его компилить?
Re[2]: Как ускорить компиляцию проекта на C#
От:
Аноним
Дата:
09.02.07 09:33
Оценка:
Здравствуйте, dotCypress, Вы писали:
C>Здравствуйте, <Аноним>, Вы писали:
А>>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить? C>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
Здравствуйте, dotCypress, Вы писали:
C>Здравствуйте, <Аноним>, Вы писали:
А>>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить? C>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
не знаю, что у тебя там за проекты, но мой солюшн на ~20 проектов собирается максимум за 4 секунды
Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, dotCypress, Вы писали:
C>>Здравствуйте, <Аноним>, Вы писали:
А>>>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить? C>>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
КЛ>не знаю, что у тебя там за проекты, но мой солюшн на ~20 проектов собирается максимум за 4 секунды
Офигеть
Это что, у вас 20 Хеллоу ворлд в различной локали, да?
Здравствуйте, dotCypress, Вы писали:
C>Здравствуйте, Константин Л., Вы писали:
КЛ>>Здравствуйте, dotCypress, Вы писали:
C>>>Здравствуйте, <Аноним>, Вы писали:
А>>>>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить? C>>>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
КЛ>>не знаю, что у тебя там за проекты, но мой солюшн на ~20 проектов собирается максимум за 4 секунды C>Офигеть C>Это что, у вас 20 Хеллоу ворлд в различной локали, да?
19 проектов, 11 из которых есть WebReferences. Только что сбилдил за 6 сек
А>>>>>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить? C>>>>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
КЛ>>>не знаю, что у тебя там за проекты, но мой солюшн на ~20 проектов собирается максимум за 4 секунды C>>Офигеть C>>Это что, у вас 20 Хеллоу ворлд в различной локали, да?
КЛ>19 проектов, 11 из которых есть WebReferences. Только что сбилдил за 6 сек
Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, dotCypress, Вы писали:
C>>Здравствуйте, Константин Л., Вы писали:
КЛ>>>Здравствуйте, dotCypress, Вы писали:
C>>>>Здравствуйте, <Аноним>, Вы писали:
А>>>>>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить? C>>>>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
КЛ>>>не знаю, что у тебя там за проекты, но мой солюшн на ~20 проектов собирается максимум за 4 секунды C>>Офигеть C>>Это что, у вас 20 Хеллоу ворлд в различной локали, да?
КЛ>19 проектов, 11 из которых есть WebReferences. Только что сбилдил за 6 сек
Проект проекту — рознь!
У нас в системе есть один проектик, дык там тока порядка 6 мегов ЧИСТО исходного кода
Здравствуйте, dotCypress, Вы писали:
C>Проект проекту — рознь! C>У нас в системе есть один проектик, дык там тока порядка 6 мегов ЧИСТО исходного кода
А как же "Разделяй и влавствуй"? К проектам это тоже относится. Наверняка можно поделить на проекты. Готов поспорить — там есть ошибки проектирования.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Svjat, Вы писали:
S>>зачем в длл ссылка на ехе? логичнее было бы ноборот сделать. А>да точно это я и имел ввиду. перепутал чуток
Радикальное (и практически невыполнимое) решение уменьшить связанность проекта.
S>>когда собираешь весь проект, тогда уже все конечно компилится. А>вот именно! можно как нить это обойти? если я в проекте ничего не изменял, то зачем его компилить?
Ну дык вдруг ты к примеру поменял имя функции которая юзается в exe — компилятор то об этом не знает и пересобирает exe тоже.
Здравствуйте, Alexey_N, Вы писали:
A_N>Здравствуйте, dotCypress, Вы писали:
C>>Проект проекту — рознь! C>>У нас в системе есть один проектик, дык там тока порядка 6 мегов ЧИСТО исходного кода A_N>А как же "Разделяй и влавствуй"? К проектам это тоже относится. Наверняка можно поделить на проекты. Готов поспорить — там есть ошибки проектирования.
Куда дальше то делить, и так солюшен из 30 проектов
Здравствуйте, dotCypress, Вы писали:
C>Здравствуйте, Alexey_N, Вы писали:
A_N>>Здравствуйте, dotCypress, Вы писали:
C>>>Проект проекту — рознь! C>>>У нас в системе есть один проектик, дык там тока порядка 6 мегов ЧИСТО исходного кода A_N>>А как же "Разделяй и влавствуй"? К проектам это тоже относится. Наверняка можно поделить на проекты. Готов поспорить — там есть ошибки проектирования.
C>Куда дальше то делить, и так солюшен из 30 проектов
C>А ошибки проектирования есть всегда
Здравствуйте, Аноним, Вы писали:
А>Есть куча проекто в солюшене.(VS2005)Есть проект точка входа , которая ссылается на эти проекты. изменяю одну строчку кода в каком -нить проекте и запускаю компиляцию... запускается только после того как заново скомпиляет все проекты.зачем? как ускорить?
Если капаешся в одном проекте, выруби остальыне в Configuration Manager. Если гдето чето забудешь пересобрать — пинай на себя.
Здравствуйте, Alexey_N, Вы писали:
A_N>Здравствуйте, dotCypress, Вы писали:
C>>Здравствуйте, Alexey_N, Вы писали:
A_N>>>Здравствуйте, dotCypress, Вы писали:
C>>>>Проект проекту — рознь! C>>>>У нас в системе есть один проектик, дык там тока порядка 6 мегов ЧИСТО исходного кода A_N>>>А как же "Разделяй и влавствуй"? К проектам это тоже относится. Наверняка можно поделить на проекты. Готов поспорить — там есть ошибки проектирования.
C>>Куда дальше то делить, и так солюшен из 30 проектов
C>>А ошибки проектирования есть всегда
A_N>А время тратить на компиляцию не жалко ?
Ну вот именно этот проект (о котором я говорил ранее) собираеться довольно редко, поэтому не жалко
C>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run
Еще есть вариант — ссылаться на другие проекты не с помощью project dependecies, а на бинарные скомпиленные сборки.
Нормальный вариант, если часто правится только пару проектов из солюшина.
Да и солюшин, имхо, скорее личный ресурс чем разделяемый между командой, поэтому можно иметь и несколько солюшинов с ограниченным набором проектов с которыми происходит работа в данный момент. Так как то по-удобнее даже.
Здравствуйте, снежок, Вы писали:
C>>Tools/Options/Projects and Solutions/Build and Run/Only build startup projects and dependencies on Run С>Еще есть вариант — ссылаться на другие проекты не с помощью project dependecies, а на бинарные скомпиленные сборки. С>Нормальный вариант, если часто правится только пару проектов из солюшина. С>Да и солюшин, имхо, скорее личный ресурс чем разделяемый между командой, поэтому можно иметь и несколько солюшинов с ограниченным набором проектов с которыми происходит работа в данный момент. Так как то по-удобнее даже.
Этот подход тоже имеет место быть!
2 Lloyd: За что минус человеку поставил? Попрошу обосновать!
2 Lloyd,
Я не понял...
Толи ты считаешь что иметь несколько солюшинов с ограниченным списком проектов для более комфортной работы плохо?
Толи ты всегда компилишь всю цепочку dependecies, даже если работа идет, допустим, уже как полгода только с одной сборкой? Даже если эта сборка unit-тесты и ничего более?
Или тебе никогда не приходилось ссылаться на бинарные сборки?
Или...
p/s/ то что должен существовать общий солюшин, который компилится по расписанию, например, ночью, никто не отрицает. Но работать в общем солюшине над одной сборкой, где ты меняешь порой пару строк — контрпродуктивно.
Здравствуйте, снежок, Вы писали:
С>p/s/ то что должен существовать общий солюшин, который компилится по расписанию, например, ночью, никто не отрицает. Но работать в общем солюшине над одной сборкой, где ты меняешь порой пару строк — контрпродуктивно.
С другой стороны, такой подход позволяет при рефакторинге легко сломать те сборки, которые от твоей текущей зависимы.
Mab>С другой стороны, такой подход позволяет при рефакторинге легко сломать те сборки, которые от твоей текущей зависимы.
рефакторим бинарные сборки через рефлектор
Mab>>С другой стороны, такой подход позволяет при рефакторинге легко сломать те сборки, которые от твоей текущей зависимы. С>рефакторим бинарные сборки через рефлектор
это вопрос был
Здравствуйте, снежок, Вы писали:
С>как сломать можно? проясни плиз.
Казалось бы очень просто: переименовываешь класс в сборке A, после чего сборка B, которая зависит от A и не была включена в solution, больше не компилируется.
Mab>Казалось бы очень просто: переименовываешь класс в сборке A, после чего сборка B, которая зависит от A и не была включена в solution, больше не компилируется.
А если б сборка [В] была в солюшине, то ничего не изменяя в ней она скомпилировалась бы?
...Просто, для отлова подобного, и существует компиляция "общего" солюшина, но запускаемая по расписанию. Ну и unit-тесты, соответственно.
p/s/ я не говорю что, ссылаться на бинарные сборки это the best, но в тоже время это может здорово экономить время разработчика.
Здравствуйте, снежок, Вы писали:
olution, больше не компилируется. С>А если б сборка [В] была в солюшине, то ничего не изменяя в ней она скомпилировалась бы?
Если бы она была в солюшене, причем в исходниках, то рефакторинг был бы сквозным и отразился на ней.
С>...Просто, для отлова подобного, и существует компиляция "общего" солюшина, но запускаемая по расписанию. Ну и unit-тесты, соответственно.
Обнаруживать постфактум, что-то сломалось -- это здорово, но не то, чего бы хотелось. Фактически придется потом накатывать все рефакторинги руками.
С>p/s/ я не говорю что, ссылаться на бинарные сборки это the best, но в тоже время это может здорово экономить время разработчика.
Ну так и я не говорю, что это абсолютное зло. Возможный сценарий: есть большое ядро и множество зависимых только от него сборок-плагинов. При этом желательно, чтобы народ, работающий с плагинами, не мог менять ничего в ядре (по административным причинам). В этом случае можно выдать им ядро в бинарной форме.
С другой стороны, для подавляющего большинства случаев и вменяемой команде эта технология будет только мешать.
L>Этот подход тоже имеет место быть только в одном случае — если хочешь огрести проблем.
Проблем пока не встречалось , зато нервов сэкономлено много.
Сборок около сотни. Компиляция общего солюшина и прогон тестов по расписанию.
Здравствуйте, снежок, Вы писали:
С>p/s/ я не говорю что, ссылаться на бинарные сборки это the best, но в тоже время это может здорово экономить время разработчика.
С>>А если б сборка [В] была в солюшине, то ничего не изменяя в ней она скомпилировалась бы? Mab>Если бы она была в солюшене, причем в исходниках, то рефакторинг был бы сквозным и отразился на ней.
Угу в 2005 студии..., а в 2003 и 1.1?
Здравствуйте, Mab, Вы писали:
Mab>Здравствуйте, снежок, Вы писали: Mab>olution, больше не компилируется. С>>А если б сборка [В] была в солюшине, то ничего не изменяя в ней она скомпилировалась бы? Mab>Если бы она была в солюшене, причем в исходниках, то рефакторинг был бы сквозным и отразился на ней.
Далеко не все могут рефакторить весь слоюшен.
Здравствуйте, Mab, Вы писали:
Mab>Здравствуйте, Mike Chaliy, Вы писали:
MC>>Далеко не все могут рефакторить весь слоюшен. Mab>В каком смысле "не все"?
Например у меня были солюшены, где я мог работать тока в определенных проектах. Это полиси проекта. Это про случай когда не могут.
Второй случай уже когда не надо — это когда системы достаточно компонентизированы. Например если пишеться модуль HumanResources, то у него зависимостей на Management недожно быть по архитектуре. А соотвевенно никаких проблем не вызывает кастомный солюшен тока для HumanResources и Common.
А если кто-то не знает где у него какието зависимости это проблемы архитектуры.
Мое мнение что кастомный солюшен со всеми незамороджеными зависимостями — это более чем естественно.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, dotCypress, Вы писали:
C>>Этот подход тоже имеет место быть!
C>>2 Lloyd: За что минус человеку поставил? Попрошу обосновать!
L>Этот подход тоже имеет место быть только в одном случае — если хочешь огрести проблем.
Я попросил обосновать!
Конкретные минусы пжалста
Они есть, я не спорю, но может вы знаете то, чего незнаю я