Подтвердить что ты не робот

Сделать решение для автоматической перезагрузки Visual Studio 2010 при изменении файлов проекта

В текущем проекте, над которым я работаю, на данный момент существует большой отток кода, что означает, что обновление из исходного элемента управления может означать, что иногда происходит смена файла csproj. Как мы все знаем, VS2010 не имеет кнопки "Обновить все", но вы должны перезагрузить каждый проект и подтвердить каждую перезагрузку.

Есть ли метод, в котором либо автоматически перезагружается проект, либо IDE может обнаружить это и запросить перезагрузку решения?

4b9b3361

Ответ 1

Наконец нашел решение:

http://lostechies.com/jimmybogard/2011/01/27/reloading-all-projects-with-vscommands/

Цитата из сайта:

Довольно часто я нахожу себя работающим в ситуациях, когда несколько проектов изменились, и Visual Studio спрашивает чтобы перезагрузить их, по одному за раз. Эта происходит, когда я много работаю с контроль источника и выполнение таких действий, как переключение веток, выполнение слияний, или просто интегрировать восходящие изменения. Мне нужно нажать "Перезагрузить" миллион времени для каждого проекта, который изменился на диск, и его довольно раздражает. Наверху из этого, VS забывает, какие файлы у меня есть open, поэтому каждый файл, который я работал на закрытии.

Я могу быть последним пользователем VS, чтобы узнать об этом, но в бесплатной версии плагин VSCommands доступен на Галерея Visual Studio, которая только что мне нужно - перезагрузите все измененные проектов, сохраняя файлов, которые я открыл:

Ответ 2

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

Если существует более двух измененных проектов, быстрее вручную выгружать и перезагружать все решение, а не добираться до него и ждать, пока он выгрузит и перезагрузит только затронутые проекты - перезагрузка проектов идет медленно (даже не учитывая нажмите кнопку ОК для каждого измененного проекта).

(На мой взгляд, реальный вопрос: почему он задает этот вопрос вообще? Если вы получаете последний исходный код, нет абсолютно разумной причины, почему вы хотели бы использовать ее часть. что вы купили топливо. Не хотите ли я, чтобы я сейчас положил его в вашу машину, или я просто вылей его на землю? ")

Ответ 3

Ну, это не работает, если ваши пути ссылок изменились в файле csproj, и вы использовали что-то вроде sysinternals инструмент соединения, чтобы изменить символическая. Например. инструментальные D:\Projects символическая ссылка из D:\Baselines\1.0\Prjects в D:\Baselines\2.0\Projects, и поскольку кто-то изменил структуру папок между 1.0 и 2.0, ваш .csproj файл внезапно указывает путь dll...\Ссылки\some.dll to....\Список литературы \3rd-Party\some.dll. Я знаю, что это особый случай, но бывает (например, в моей компании).

Существует альтернативное решение, которое я настоятельно рекомендую, так как оно имеет и другие преимущества: не очень известное расширение VS 2010 Решение Диспетчер загрузки. Он откладывает загрузку проектов на задний план или до тех пор, пока не будет загружен вручную, что значительно упростит время загрузки решения для больших файлов решений. В нем есть эта кнопка "перезагрузить решение" (к сожалению, нет ярлыка), который затем перезагружает все решения с нуля, пропуская/загружая установленные вами решения. Парень Microsoft прокомментировал свой блог, что они хотели включить что-то подобное в VS 2010, но эта функция не совсем поняла.

Конечно, может потребоваться больше времени "просто" одним щелчком мыши и обновить 100 документов, но он решил мою проблему (относительного) изменения ссылочного пути и дает хороший прирост скорости каждый раз, когда я открываю решение по меньшей мере среднего размера.

Изменить с октября 2013 года VS2012 включает эту функциональность по умолчанию. По крайней мере, асинхронная загрузка. К сожалению, функциональность "не загружайте вообще" возможна, используя ручной "проект разгрузки" в VS2012. Но поскольку потребление памяти PR-проекта снизилось с VS2012, это не так уж и больно.

Ответ 4

Если вы отметили опцию "определять, когда файл изменен вне среды" в разделе "Документы" параметров, проекты и файлы перезагружаются при изменении. Он работает для меня при переключении ветвей в git.

VS option screenshot