Визуальный источник безопасен - как удалить привязки из решения без открытия в 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

  1. откройте свой проект, затем перейдите
  2. Файл -> Контроль источника -> Изменить контроль источника.
  3. выберите проект и / или решение
  4. нажмите 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 (тьфу!).

Другие вопросы по тегам