【问题标题】:visual source safe - how to remove bindings from solution w/o opening in visual studio视觉源安全 - 如何从解决方案中删除绑定,无需在 Visual Studio 中打开
【发布时间】:2010-11-04 09:58:14
【问题描述】:

有没有人知道在 Visual Studio 2005 和 2008 解决方案中删除 vss 源代码控制绑定而不在 Visual Studio 中打开它的好方法?

我以前用过:del /s /f /a: *.*scc 然后,当我打开 Visual Studio 时,它会提示我并让我选择“永久删除绑定”。

现在当我尝试这个时,它会重新创建 .vsscc 文件并告诉我我的工作副本包含不同版本的 .vsscc 文件。没有删除源代码控制绑定的选项。

真正的问题是我正在尝试从源代码安全的解决方案的旧标签副本上工作。但是,如果我在它仍然绑定到源代码控制时打开解决方案,它将获得最新版本的网站。即使我没有选中“源代码管理-->环境-->打开解决方案或项目时获取所有内容”选项,它也会这样做。

【问题讨论】:

    标签: visual-studio visual-sourcesafe


    【解决方案1】:

    我不确定“最佳”答案,但我可以提供一些信息:首先,我想出的将 VS2005/2008 项目或解决方案与 VSS 分开的唯一可靠方法是创建一个新解决方案和项目具有相同的设置,在新文件夹中,复制所有模块、类、表单等成员文件,然后将它们添加到项目中,最后,重置所有项目和解决方案属性以匹配。

    如果有人有更好的可靠方法来做到这一点,我很想听听,但到目前为止,我尝试的所有其他方法都导致项目/解决方案和 VSS 集成都被破坏。

    AFAIK,这是因为 VSS 和 VS 项目在 solution.SSC、solution.VSSSCC、solution.SLN、mssccprj.scc、vssver.ssc 和 *.%proj 文件中的绑定,并且可能在SUO 也是(啊!)。

    【讨论】:

    • 哎呀!我实在是太懒了。
    • 我以为我也是,直到我不得不这样做...... :-(
    【解决方案2】:

    我通过编辑解决方案文件以及删除 *.*scc 文件来实现此功能。

    这是我从解决方案文件中删除的内容:

    栏目下:

    ProjectSection(WebsiteProperties) = preProject
    

    我删除了以下 4 行:

            SccProjectName = ""$/HOS_amend.root/HOS", ENWBAAAA"
            SccAuxPath = ""
            SccLocalPath = ".."
            SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
    

    还删除了整个部分:

    GlobalSection(SourceCodeControl) = preSolution
    

    执行此操作后,当我打开解决方案时,我会收到“永久删除绑定”选项的提示。

    【讨论】:

      【解决方案3】:

      只需在您的项目中搜索 *.scc 和 .vss,删除所有这些,然后在 Visual Studio 2008 中打开您的项目,它会询问您是否要删除绑定或修复它 p>

      【讨论】:

        【解决方案4】:

        这是我用来删除所有源代码控制文件的 .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"
        

        )

        或者您可以执行某种正则表达式删除,但我没有相应的代码。

        【讨论】:

        • 谢谢,真的很有帮助
        • 不错的解决方案!我最初寻找的是VS中的一个菜单选项。正如另一个答案中所述,有一个,但听起来它不会清理只读/隐藏/系统文件。所以首先这样做同样容易,然后 VS 提示解除绑定意味着我什至不必搜索菜单命令! :-)
        【解决方案5】:

        在 Visual Studio 中

        1. 打开您的项目,然后转到
        2. 文件-->源代码管理-->更改源代码管理。
        3. 选择项目和/或解决方案
        4. 点击解除绑定。

        您还需要将所有文件的只读属性更改为读/写,以便以后能够修改它们。

        【讨论】:

          猜你喜欢
          • 2016-05-23
          • 1970-01-01
          • 2019-09-17
          • 1970-01-01
          • 1970-01-01
          • 2020-09-24
          • 1970-01-01
          • 1970-01-01
          • 2015-07-10
          相关资源
          最近更新 更多