为啥在我将文件添加到项目时,Visual Studio 会检出 .vspscc 文件?
Posted
技术标签:
【中文标题】为啥在我将文件添加到项目时,Visual Studio 会检出 .vspscc 文件?【英文标题】:Why does Visual Studio check out the .vspscc file when I add a file to a project?为什么在我将文件添加到项目时,Visual Studio 会检出 .vspscc 文件? 【发布时间】:2011-03-08 10:30:28 【问题描述】:如果我将新文件添加到 TFS 源代码控制下的项目,它将检查项目文件和该项目文件的相应 .vspscc 文件。
项目文件本身会发生变化(以包含新文件),但 .vspscc 文件根本没有变化。为什么要麻烦检查一下?有没有办法禁止它被检出,如果有,我应该吗?
【问题讨论】:
这是一个非常好的问题。将项目添加到源代码管理时,它似乎会创建和版本 .vspscc 文件。但是,如果您尝试将项目导出并重新添加到另一个源代码管理,源代码管理向导会将这些文件放到忽略列表中。遗憾的是,这个问题没有得到明确的回答,yes because... 或 no because... 答案。 【参考方案1】:它被签出是因为在某些情况下它将被修改..因此他们将其签出作为默认问题。我不会担心它..它不会伤害任何东西,如果你禁用它,它可能会在未来以一种奇怪的方式严重咬你。
【讨论】:
谢谢。只是出于好奇,知道这些特定条件是什么吗? 没有线索。我刚刚在蓝月亮中看到它以不同的尺寸签入,所以我认为它偶尔会被更改。当我星期一上班时,我可以看看我是否能说出有什么不同 我只是查看了一个有 9 个月历史的 vspscc 文件的版本历史记录,并且自从第一次添加以来,有几十个签入没有任何变化。 我很可能是错的,因为我无法验证(因为我在家不工作),但我的大脑告诉我我已经看到它的大小变化了。 (也可能会产生幻觉:-S)无论如何,每次都检查它不会有任何伤害 这是一个答案:Team Foundation 使用这些来存储已从源代码管理中排除的文件列表。我们利用 Visual Studio 中的一些现有 SCC 集成层来集成 Team Foundation,这些文件就是其中之一。 social.msdn.microsoft.com/Forums/en/tfsgeneral/thread/…【参考方案2】:根据 Ben Ryan 的this post:
Team Foundation 使用这些来存储已从源代码管理中排除的文件列表。我们利用 Visual Studio 中的一些现有 SCC 集成层来集成 Team Foundation,这些文件就是其中之一。我必须检查将这些 SCC 设置分解为单独文件的逻辑,而不是将它们放在解决方案和项目文件的 SCC 部分中。
【讨论】:
【参考方案3】:此文件是过去 VSS/TFS 实现的保留,如 Paulo Santos 发布的。
在解决方案层面,我发现这些文件没有任何功能用途。在使用 TFS 的 10 年中,我从未见过该文件被更改过。您可以删除这些 .VSSCC 文件,就像我通常为我的闭源解决方案所做的那样。
但是如果您删除解决方案级别的 .vsscc 文件,您将在第一次打开解决方案文件时收到非破坏性错误消息...仅在创建新分支后。所有后续打开的解决方案都不会再次显示错误消息。
我的 TFS 设置标准将解决方案文件单独放在根文件夹中,所有项目都在子文件夹下。由于这些 .vsscc 文件使我的根目录中的文件数量增加了一倍,因此我总是删除它们。
在项目级别,我保留了这些文件,因为我的团队从不直接打开项目文件,只打开解决方案 .SLN 文件。
对于我的团队,我更喜欢程序员易于打开解决方案而不是一次性错误消息。
【讨论】:
不幸的是,即使删除文件,Visual Studio(甚至 2015)也会重新生成它们。以上是关于为啥在我将文件添加到项目时,Visual Studio 会检出 .vspscc 文件?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我添加到我的 xcode 项目的音频文件在模拟器中可用,但在我在 iPhone 上部署应用程序时不可用
将现有 xaml 文件添加到 Visual Studio 2012
Visual Studio 不跟踪更改,或者在我编辑文件时从源代码管理中签出文件