Визуальный источник безопасен - как удалить привязки из решения без открытия в visual studio
Кто-нибудь знает хороший способ удалить привязки управления исходным кодом VSS для решения Visual Studio 2005 и 2008, не открывая его в Visual Studio?
Я использовал для: del /s /f /a: *.*scc
Затем, когда я открывал визуальную студию, мне предлагали "навсегда удалить привязки".
Теперь, когда я пытаюсь это сделать, он воссоздает файл.vssscc и сообщает, что моя рабочая копия содержит другую версию файла.vsscc. Нет никакой возможности удалить привязки контроля версий.
Настоящая проблема в том, что я пытаюсь работать над старой помеченной копией решения из безопасного источника. Но если я открою решение, пока оно еще связано с контролем версий, оно получит последнюю версию веб-сайта. Это происходит, даже если у меня отключена опция "Контроль исходного кода -> Среда -> Получить все при открытии решения или проекта".
5 ответов
Я получил это на работу, отредактировав файл решения, а также удалив *.* Scc файлы.
Вот что я удалил из файла решения:
Под разделом:
ProjectSection(WebsiteProperties) = preProject
Я удалил следующие 4 строки:
SccProjectName = ""$/HOS_amend.root/HOS", ENWBAAAA"
SccAuxPath = ""
SccLocalPath = ".."
SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
Также удален весь раздел:
GlobalSection(SourceCodeControl) = preSolution
После этого, когда я открываю решение, я получаю приглашение с возможностью "навсегда удалить привязки".
В Visual Studio
- откройте свой проект, затем перейдите
- Файл -> Контроль источника -> Изменить контроль источника.
- выберите проект и / или решение
- нажмите Unbind.
Вам также необходимо изменить атрибуты "только для чтения" всех файлов для чтения / записи, чтобы иметь возможность изменить их позже.
Это файл.cmd, который я использую для удаления всех файлов контроля версий:
:: *.scc
:: ===========================================================================
attrib /s -h -s "*.scc" :: Must get rid of system and hidden attributes
attrib /s -r "*.scc" :: at same time
del /s "*.scc"
:: *.vssscc
:: ===========================================================================
attrib /s -h -s "*.vssscc"
attrib /s -r "*.vssscc"
del /s "*.vssscc"
:: *.vspscc
:: ===========================================================================
attrib /s -h -s "*.vspscc"
attrib /s -r "*.vspscc"
del /s "*.vspscc"
:: *.vsscc
:: ===========================================================================
attrib /s -h -s "*.vsscc"
attrib /s -r "*.vsscc"
del /s "*.vsscc"
После чего вы можете либо открыть в Visual Studio, и вам будет предложено удалить привязки управления исходным кодом (который удаляет строки, упомянутые Seth Reno, т.е.
SccProjectName = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
SccAuxPath = "x"
SccLocalPath = "xxx"
SccProvider = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
Или вы могли бы сделать какое-то удаление регулярного выражения, но у меня нет кода для этого.
Просто найдите в вашем проекте *.scc и .vss, удалите все это, затем откройте ваш проект в Visual Studio 2008, который спросит вас, хотите ли вы удалить привязки или исправить это.
Я не уверен в "лучшем" ответе, но могу предоставить некоторую информацию: во-первых, единственный верный путь, который я нашел, - разделить проект или решение VS2005/2008, а VSS - создать новое решение и проект с с теми же настройками в новых папках скопируйте все файлы элементов модулей, классов, форм и т. д., а затем добавьте их в проект и, наконец, сбросьте все атрибуты проекта и решения для соответствия.
Если у кого-то есть более надежный способ сделать это, я хотел бы услышать это, но пока все остальное, что я попробовал, привело к нарушению как проекта / решения, так и интеграции VSS.
AFAIK, причина этого заключается в том, что связывание между VSS и VS проектами в файлах решений.SSC, solution.VSSSCC, solution.SLN, mssccprj.scc, vssver.ssc и *.% И, возможно, также в SUO (тьфу!).