My Visual Studio 2005 хранит информацию о том, какие проекты и решения и с какими репозиториями системы контроля версий содержатся в файлах .sln и .csproj. Можно ли заставить его хранить эту информацию о привязке в каком-то внешнем файле?
Причина, по которой я хочу, чтобы информация хранилась вне файлов решения / проекта, заключается в том, чтобы облегчить эксперименты с плагином AnknSVN. Прямо сейчас у нас есть все наши вещи в VSS 6, но я хочу сохранить экспериментальную копию репозитория SVN, а затем вручную синхронизировать их, используя идеи, описанные здесь:
http://www.dotnet6.com/blogs/jeroen/archive/2008/04/05/using-subversion-in-a-vss-only-shop.aspx
К сожалению, привязки, хранящиеся в файле .sln (например), приводят к этому. Для иллюстрации, скажем, я копирую весь свой VSS-репозиторий в параллельный экземпляр SVN. Теперь я открываю основное решение из SVN в Visual Studio с помощью AnknSvn; в этом процессе AnkhSvn изменит информацию о привязке управления исходным кодом в файле .sln, указав SVN. Далее, скажем, я добавляю новый проект P1 к решению. Это заставит Visual Studio изменить файл .sln во второй раз, отметив существование P1. Скажем, на данный момент я хочу синхронизировать изменения, внесенные в копию SVN, обратно в репозиторий VSS. Если привязка управления исходным кодом не сохранена в файле .sln, это не так уж плохо. Однако теперь в файле .sln есть два разных изменения, и я хочу распространить изменение добавления проекта обратно на VSS, но я не хочу распространять изменение привязки управления исходным кодом обратно на VSS, потому что это сломало бы построить для всех пользователей VSS! Я не думаю, что есть способ распространить одно изменение без другого ручного вмешательства. В отличие от этого, если бы Visual Studio просто сохраняла информацию о привязке вне файла .sln, то я действительно хотел бы распространить все изменения файла .sln обратно на VSS, и это было бы нормально.