visual-studio - 工作区和(连接到服务器)解决方案有什么区别?

标签 visual-studio tfs

我知道我应该用谷歌搜索这样的话题,但我找不到明确的文章。

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

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

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

最佳答案

TFS 工作区定义了哪些更改控制文件和文件夹并映射到本地文件和文件夹(因此特定于用户和机器的组合)。

VS 解决方案定义了一组项目及其相互依赖的工作作为一个单元(通常用于创建一个或多个可执行文件和库的单个软件产品)。

这些概念是正交的。一个工作区可以包含许多文件夹,每个文件夹都在一个单独的文件夹中。

除非您希望能够同时处理多个需要单独 checkin 的不同事物,否则我强烈建议您避免使用多个工作区,直到您对变更控制更加满意为止。虽然在某些用例中多个工作区是一种强大的方法,但它确实增加了复杂性。

同样,我建议避免使用包含多个解决方案的单个文件夹,这不是 VS 默认的操作方式,需要仔细管理以避免出现问题。

关于visual-studio - 工作区和(连接到服务器)解决方案有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375816/

相关文章:

c++ - 将 Boost 与 Team Foundation Server 结合使用

visual-studio - ExcludeFoldersFromDeployment 在发布配置文件中不起作用

c# - Visual Studio 不使用隐式类型数组 (`new[] {1,}` 格式化源代码)

c++ - 访问注册表数据以设置链接器和包含路径

visual-studio - 在mfc中如何将控件置于前面

visual-studio-2010 - 防止 checkin 并限制 TFS 分支的合并

C++ 代码探查器

.net - 在项目之间共享 Web 服务

node.js - TFS 2017本地无法在cmd中找到 Node 模块

visual-studio-2012 - 团队基础服务器 : Why is changeset history shared among separate projects?