Ну, это не сработает, если ваши пути ссылок изменились в файле csproj, и вы используете что-то вроде инструмента sysinternals junction для изменения символической ссылки. Например. инструмент переключает символическую ссылку D: \ Projects с D: \ Baselines \ 1.0 \ Prjects на D: \ Baselines \ 2.0 \ Projects, и, поскольку кто-то изменил структуру папок между 1.0 и 2.0, ваш файл .csproj внезапно указывает путь к dll из .. .. \ References \ some.dll to .... \ References \ 3rd-Party \ some.dll. Я знаю, что это особый случай, но случается (например, в моей компании).
Тем не менее, существует альтернативное решение, которое я настоятельно рекомендую, поскольку оно имеет и другие преимущества: не очень известное расширение VS 2010 Solution Load Manager . Он откладывает загрузку проектов в фоновый режим или до тех пор, пока не будет загружен вручную, что значительно увеличивает время загрузки решения для больших файлов решений. В его меню есть кнопка «Перезагрузить решение» (к сожалению, здесь нет ярлыков), которая затем перезагружает все решения с нуля, пропуская / загружая фоновые решения, которые вы установили. Один парень из Microsoft прокомментировал в своем блоге, что хочет включить нечто похожее в VS 2010, но эта функция не совсем подходит.
Конечно, это может занять больше времени, чем «всего лишь» один клик и обновить 100 документов, но это решило мою проблему (относительного) изменения ссылочного пути и дает хороший прирост скорости каждый раз, когда я открываю решение хотя бы среднего размера.
Редактировать по состоянию на октябрь 2013 г.
VS2012 включает эту функцию по умолчанию. По крайней мере, асинхронная загрузка. Функциональность «вообще не загружаться», к сожалению, возможна только при использовании ручного «разгрузить проект» в VS2012. Но так как потребление памяти pr-проекта действительно уменьшилось с VS2012, это уже не так уж важно.