TFS 工作区是项目源和服务器之间的中间地带吗?

Is a TFS Workspace a middle ground between the project source and the server?

我们的团队正在将我们的项目放入 TFS。我试图了解工作区的概念。它为我创建了一个 C:\Users\cshannon\Source\Workspaces\

然后,如果我没有理解错的话,我就是把我想要的项目复制到TFS里面。因此,如果我有一个名为 "Boomerang" 的项目,我会将其复制到 C:\Users\cshannon\Source\Workspaces\ 这样我就会有一个名为 C:\Users\cshannon\Source\Workspaces\Boomerang

的文件夹

好的,但是在 Visual Studio 中处理该项目时,我现在需要从 C:\Users\cshannon\Source\Workspaces\Boomerang 打开该项目吗? IOW,我原来的位置,比如 C:\Projects\Boomerang,现在变成冗余了?

我对此表示怀疑,但对我来说似乎很奇怪,我会在 C:\Projects\Boomerang 中进行更改,然后将其签入(到 C:\Users\cshannon\Source\Workspaces\Boomerang),因为它仍然都在我的本地机器上。它如何从 C:\Users\cshannon\Source\Workspaces\Boomerang 到达 TFS 服务器位置,以便团队也可以访问它?

如果是这样-从原来的位置转移到本地工作区,它是如何从本地工作区到服务器的?

ISTM 通过简单地在 VS 中右键单击一个项目并选择 "Add to TFS" 或类似的东西,整个过程可以变得更容易和更透明。然后它会提示您提供详细信息。此后,只需定期签入更改 and/or 签出更改(获取最新)。就像现在一样,它看起来确实比需要的更复杂。特别是将项目复制到工作区位置;如果这真的应该如何完成,我觉得不对...

无论如何,我的主要问题是,一旦我在工作区中有了一个项目,在 VS 中处理它时是否需要从那里打开我的项目?如果是这样,除了作为备份之外,原始位置的文件有什么用?

顺便说一句,我读了 this,但至少还是有点困惑。

更新

我确实在 VS 中访问了解决方案资源管理器,并注意到确实有一个 "Add Solution to Source Control..." 项目在右键单击解决方案时可用。

但是,当我尝试签入这些项目时,它失败了 ("See Output windows for details about the failed check-in. No files checked in")。

输出 window 表示:

TF10169:尝试对团队项目文件夹 $/RoboRprtrDateFilesGeneratorUtil 进行不支持的挂起更改。使用团队资源管理器中的项目创建向导创建项目或使用团队项目删除工具删除项目。

更新 2

This post关于我得到的错误已经被浏览了将近一万次的三分之一,所以这显然不是一个晦涩的混淆。

更新 3

下面的屏幕截图显示我的工作区确实有一个 CSReports 文件夹,我在团队资源管理器窗格中创建了它,还有一个 RoboRprtrDateFilesGeneratorUtil 文件夹,当我从 VS 解决方案资源管理器中选择 "Add Solution to Source Control...":

然而,就实际将此文件夹与 TFS 同步而言,一切似乎都被破坏和磨损了。

工作区只是 TFVC 源代码管理中的位置与本地计算机上的文件夹之间的映射。它说 "the files located in $/Foo/Bar/ in source control are in C:\Source\Baz on this computer"。

如果您希望更改可用于签入,是的,您必须在工作区文件夹中进行更改。