Visual Studio 2010 попытается запустить сборку после отсоединения от удаленного отладчика - PullRequest
0 голосов
/ 01 апреля 2011

У меня периодически возникают проблемы с Visual Studio 2010: я работаю над довольно крупным решением (более 200 проектов), поэтому создание всего решения занимает много времени даже с небольшими изменениями.

Мне часто приходится отлаживать процессы на удаленных машинах.

Что я заметил, так это то, что visual studio часто зависал при отключении или прерывании удаленного процесса.При ближайшем рассмотрении выясняется, что сразу после отключения отладчика VS начнет сборку решения, и отменить сборку невозможно, нажав Ctrl + Break, фактически меню вообще не работает, пока сборка не завершится или не завершится неудачей, иБольшое решение занимает много времени.Один из способов, который я нашел, чтобы решить эту проблему, - это убить процессы MSBuild.exe, порожденные VS, которые не смогли бы выполнить сборку.

Кто-нибудь видел такое поведение?Есть ли какое-нибудь исправление?Очень раздражает

EDIT : так выглядит проводник процесса после отключения от отладчика: http://vvcap.net/db/oz1NMoyXnWWlQp8mWaRY.htp

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Это происходит, когда вы редактируете код, когда активна точка останова. После завершения сеанса отладки VS автоматически перестраивает решение для включения изменений в двоичные файлы, а не только в память. Это, как правило, делает VS немного кататоническим, я думаю, что он пытается помешать вам сделать что-нибудь, что могло бы прервать эту операцию. Обычно это занимает не более пары секунд, но я понятия не имею, что может произойти в таком большом решении. Отключение E + C, вероятно, не является одним из обходных путей, которые вы могли бы рассмотреть, если вы привыкли иметь возможность редактировать код во время отладки.

Наличие решений с 200 проектами имеет тенденцию проверять пределы выносливости. Постарайтесь свести его к основному набору проектов, отбрасывая те, которые не должны меняться, потому что это нарушит слишком много кода на более высоких уровнях. Или просто создайте другое решение и включите в него только те проекты, которые вы хотите протестировать. В противном случае это не повлияет на сеанс отладки, вы все равно можете отлаживать код из таких проектов, как обычно. Без E + C, конечно.

0 голосов
/ 01 апреля 2011

Такое количество проектов в файле решения может занять много времени.Я не могу (я) вообразить) беспокойство перед нажатием Ctrl + B (знаю, что это занимает 30 секунд моего рабочего времени).Я бы сказал своему боссу, что нам крайне необходимо вставить 40-часовую задержку из-за рефакторинга проектов в пригодные для обработки и скомпилированные части (разделяя одну и ту же dll в каждой библиотеке для каждой цели / слоя).Если задержки связаны с переопределением проекта или разделением решения на несколько проектов, полностью зависит от вашей работы.По крайней мере, те части, где я ожидаю проблем и собираюсь измениться,

...