Проблема не в файлах проекта в исходном коде. Проблема заключается в жестко заданных путях в файлах проекта.
Для этого вы можете использовать относительные пути или переменные среды.
Например, вы можете использовать общий «корень» для включаемых файлов и общий «корень» для других сторонних библиотек. Иерархия под корнями должна быть одинаковой.
Это обычно используется во многих местах, где я работал, и обычно вы можете указать на сторонние библиотеки. Это также решает проблему наличия нескольких версий некоторого набора файлов на компьютере. Изменяя одну переменную среды (в сценарии сборки или иным образом), вы можете обслуживать определенные цели / сборки.
Что касается вашего другого вопроса - не совсем понятно, что вы говорите. Я думаю, что вы спрашиваете, проверяют ли несколько человек один и тот же общий путь / общий сетевой ресурс. Это не очень хорошая идея. У всех вас может быть свой рабочий набор / рабочая копия исходных файлов, и SVN по умолчанию не блокирует файлы, поэтому вы можете работать с ними одновременно. Вы просто должны войти в практику обновления / получения последних источников / изменений.
РЕДАКТИРОВАТЬ - как сказал другой плакат (и я повторяю это здесь, чтобы вы не пропустили его) -
Файлы решений и / или проектов в системе контроля версий НЕ являются плохой практикой.
EDIT:
Вот еще одно решение - не уверен, что кто-то еще предлагал это.
создайте сопоставление с другим местом в вашей структуре пути и сделайте его сетевым диском, например, x: \
Если все так поступают, они могут сохранять свои структуры каталогов так, как им нравится, и при этом использовать одни и те же файлы проекта. Нет необходимости в фиктивных.
Например, если разработчик А имеет
C: \ развитие \ проекта \ бла
Карта X: \ project to c: \ development \ project
и разработчик 2 имеет:
C: \ Мои документы \ пользователь \ Visual studio \ etc ..., она отображает X: \ на этот путь.
Viola!
C: \