2013-08-22 53 views
4

我知道我应该搜索这样的话题,但我找不到明确的文章。工作区和(连接到服务器)解决方案有什么区别?

我不明白的部分是,有什么区别,如果我只是让我的计算机上的两个解决方案映射到相同的TFS文件夹,或者如果我创建两个工作区?在某种程度上,我明白解决方案和TFS工作区之间存在差异,因为解决方案可以完全是本地的,不能连接到任何版本控制。但是我创建的工作空间在我的本地计算机上总是有解决方案吗?如果是这样,我真的不明白为什么我应该有这样的工作空间。

另一件事我不明白的是,当我打开VS一个解决方案,我还可以切换到另一个工作区(它总是在,如果我刚才的问题是肯定的另一种解决方案)的团队资源管理器和解决方案管理器。这背后的想法是什么?我发现这样的操作令人困惑。

BTW我其实不知道工作区是否是我要找的东西。我想要做的是:我在同一个开发分支的同一个软件项目上有多个任务。所以我希望能够在一项任务中工作而不影响其他正在进行的任务。以前,我不得不创建一个新的解决方案(当我需要使用不同的分支时,我实际上是这样做的),或者只是简单地将更改搁置到一个分配 - >撤消挂起的更改 - >更改其他分配。我被告知工作区是解决方案,但在阅读了一些文章后,我仍然不知道如何使用它。

+0

这里我在2017年(将近2018年),我仍然很不确定用你描述的方式处理VS中任务管理的最佳工作流程。我发现这个问题是因为我一直在寻找,并尝试使用工作区功能无济于事。 我不知道是否部分问题是由于我有义务使用IIS Express,但在我看来,我无法在单独的工作区中处理两个任务,而在本地调试浏览器中的这些单独的更改集,而无需切换整个解决方案。它是基于分支工作流程的时代,我不相信我仍然需要搁置。 – Esten

+0

如果您发现一个工作流程可以解决您发布时遇到的问题,我很想听听您如何在多组待定更改之间本地管理工作。 – Esten

回答

0

甲TFS工作空间定义了什么改变控制文件和文件夹,并映射到本地文件和文件夹(以及因此是特定于用户和机器的组合)。

一个VS解决方案定义项目的集合,它们之间的相互依存关系的工作作为一个单元(通常是创建一个或多个execut5able文件和库单一软件产品)。

这些概念是正交的。工作区可以包含每个文件夹中的多个文件夹。

除非你希望能够一次,你需要检查分开,我会强烈建议避免多个工作区,直到您更舒适的变更控制多个不同的事情工作。尽管多个工作空间对于某些工作方式来说是一种强大的方法,但确实增加了复杂性。

同样,我会建议避免拥有包含多个解决方案的单个文件夹 - 这不是VS默认运行的方式,需要仔细管理以避免问题。

+0

感谢您的回复。我很抱歉,但我不确定我在你的答案中了解“文件夹”的概念。 “一个工作区可以在一个单独的文件夹中包含多个文件夹”。 “同样,我会建议避免让一个包含多个解决方案的文件夹”。这是否意味着本地计算机的“文件夹”(如果是这样,我不明白你描述的场景),还是它在TFS/VS术语中有一些特殊含义?事实上,“能够一次处理多种不同的事情,你需要单独检查”正是我想要做的 – tete

+0

我想我可以通过将多个本地解决方案映射到相同的TFS文件夹来实现这一点,每个对应于我拥有的一个任务。但我只是不知道工作区的用途,如果我可以在不知道工作区 – tete

+0

@tete本地文件夹==目录的存在的情况下执行我描述的操作。在TFS中,它是一个数据结构(通过工作区)映射到本地目录。一个文件夹中的多个解决方案(即一个目录中的多个'.sln'文件)可以实现,但不能在VS中直接创建它们:这强烈表明它们可能无法一致地工作。 – Richard

0

这些现在都变得有点老了(因为他们不谈论本地或服务器工作区和公共或私人设置),但我写了一个有关工作区的情侣博客文章,这可能有助于:

  1. Workspace 101: An introduction to TFS Workspaces
  2. Workspace 101: Working folder mappings

此外,Professional Team Foundation Server书的版本控制章节应该帮助。

+0

感谢您的文章。所以我可以肯定地说,如果我想同时执行多任务,并且不希望一项任务的更改影响其他任务,那么我应该有多个工作空间?在这种情况下,一个解决方案对应于一个工作区?顺便说一句,我发现它非常令人困惑,我可以打开一个解决方案(工作区),但对另一个工作区执行一些操作(而不是代码修改,但是例如文件操作)。在某些时候,我明白,即使使用TFS,解决方案和工作空间也不意味着同样的事情。但是修改错误的工作区仍然很容易出错。 – tete

相关问题