Visual studio visual source safe-如何在visual studio中从不打开的解决方案中删除绑定
是否有人知道一种不在visual studio中打开而删除visual studio 2005和2008解决方案的vss源代码管理绑定的好方法 我曾经使用:Visual studio visual source safe-如何在visual studio中从不打开的解决方案中删除绑定,visual-studio,visual-sourcesafe,Visual Studio,Visual Sourcesafe,是否有人知道一种不在visual studio中打开而删除visual studio 2005和2008解决方案的vss源代码管理绑定的好方法 我曾经使用:del/s/f/a:.*scc 然后,当我打开VisualStudio时,它会提示我并给我“永久删除绑定”的选项 现在,当我尝试此操作时,它会重新创建.vssscc文件,并告诉我我的工作副本包含不同版本的.vsscc文件。没有删除源代码管理绑定的选项 真正的问题是,我正在尝试从源代码安全的解决方案的一个旧的标记副本。但是,如果在解决方案仍然绑
del/s/f/a:.*scc
然后,当我打开VisualStudio时,它会提示我并给我“永久删除绑定”的选项
现在,当我尝试此操作时,它会重新创建.vssscc文件,并告诉我我的工作副本包含不同版本的.vsscc文件。没有删除源代码管理绑定的选项
真正的问题是,我正在尝试从源代码安全的解决方案的一个旧的标记副本。但是,如果在解决方案仍然绑定到源代码管理的情况下打开该解决方案,它将获得网站的最新版本。即使我没有选中“源代码管理-->环境-->打开解决方案或项目时获取所有内容”选项,它也会这样做。我不确定“最佳”答案,但我可以提供一些信息:首先,我提出的将VS2005/2008项目或解决方案与VSS分离的唯一可靠方法是使用相同的设置创建一个新的解决方案和项目,在新文件夹中,复制所有模块、类、表单等成员文件,然后将其添加到项目中,最后,重置所有项目和解决方案属性以匹配
如果有人有更好的可靠的方法来做这件事,我很想听听,但到目前为止,我尝试的所有其他方法都导致了项目/解决方案和VSS集成的中断
好吧,这是因为VSS和VS项目之间的绑定在solution.SSC、solution.VSSSCC、solution.SLN、msscprj.scc、vssver.SSC和*.%proj文件中,可能也在SUO中(啊!)。我通过编辑解决方案文件和删除*.scc文件来实现这一点 以下是我从解决方案文件中删除的内容: 在该节下:
ProjectSection(WebsiteProperties) = preProject
GlobalSection(SourceCodeControl) = preSolution
我删除了以下4行:
SccProjectName = ""$/HOS_amend.root/HOS", ENWBAAAA"
SccAuxPath = ""
SccLocalPath = ".."
SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
还删除了整个部分:
ProjectSection(WebsiteProperties) = preProject
GlobalSection(SourceCodeControl) = preSolution
执行此操作后,当我打开解决方案时,我会得到提示,并选择“永久删除绑定”。只需在项目中搜索*.scc和.vss,删除所有这些,然后在Visual Studio 2008中打开项目,这将询问您是否要删除绑定或修复它这是我用来删除所有源代码管理文件的.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"
之后,您可以在VisualStudio中打开并得到删除源代码管理绑定的提示(这将删除Seth Reno提到的行,即
SccProjectName = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
SccAuxPath = "x"
SccLocalPath = "xxx"
SccProvider = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
)
或者您可以执行某种正则表达式删除操作,但我没有相应的代码。在Visual Studio中
您还需要将所有文件的只读属性更改为读/写,以便以后能够修改它们。Yikes!我太懒了。我以为我太懒了,直到我不得不这么做-(谢谢,这真是一个非常有用的解决方案!我最初在VS中寻找的是一个菜单选项。正如在另一个答案中所指出的,有一个,但听起来它不会清理只读/隐藏/系统文件。因此,首先这样做同样简单,然后VS提示解除绑定意味着我甚至不必搜索菜单命令!:-)