Почему опция «Установить как автозагрузку» хранится в файле suo, а не в файле sln? - PullRequest
170 голосов
/ 29 марта 2009

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

Ответы [ 5 ]

363 голосов
/ 27 ноября 2009

Абсолютно необходимо, чтобы каждый мог определить свой StartUp Project самостоятельно, как Джон уже сказал . Но иметь выделенное значение по умолчанию было бы здорово, и, как я могу судить, это возможно!

Если в каталоге решений нет файла .suo, Visual Studio выберет первый проект в файле .sln в качестве запускаемого по умолчанию проекта.

  1. Закройте Visual Studio и откройте файл .sln в вашем любимом текстовом редакторе. Начиная со строки 4, вы видите все свои проекты, инкапсулированные в Project - EndProject строки.

  2. Вырежьте и вставьте нужный проект запуска по умолчанию в верхнюю позицию.

  3. Удалите файл .suo.

  4. Откройте ваше решение в Visual Studio. Та даа!

Есть ли специальная награда, если вы знаете что-то, чего не знает Джон? ; -)

48 голосов
/ 29 марта 2009

Почему это должно быть не специфичным для пользователя предпочтением?

Если у меня есть решение с 10 файлами, и один разработчик в основном тестирует / использует один из этих инструментов, почему это должно влиять на то, что я запускаю?

Я думаю, что MS сделал правильный выбор на этом. Проект I , который я хочу запустить, далеко не обязательно является проектом, который другие разработчики хотят запустить.

46 голосов
/ 27 ноября 2009

В большинстве случаев имеет смысл иметь значение по умолчанию для этого.

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

На самом деле, это было предложено в UserVoice Visual Studio .

3 голосов
/ 22 августа 2015

Если вы используете GIT, вы можете зафиксировать файл SUO по умолчанию, а затем пометить его как неизмененный, используя

git update-index --assume-unchanged YourSolution.suo

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

3 голосов
/ 04 октября 2014

Я написал небольшую утилиту командной строки для Windows под названием slnStartupProject для автоматической настройки запускаемого проекта:

slnStartupProject slnFilename projectName

Я лично использую его для настройки запуска проекта после генерации решения с помощью cmake , который всегда устанавливает фиктивный проект ALL_BUILD в качестве первого проекта в решении.

Источник находится на GitHub. Форки и отзывы приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...