使用Visual Studio的多个副本,每个副本连接到不同的解决方案并维护单独的包含更改集

时间:2018-02-23 18:09:30

标签: visual-studio tfs visual-studio-2017 tfvc

我打开了两个Visual Studio 2017副本,每个窗口都使用单独的解决方案。两个解决方案都在单独的文件夹中检入Team Foundation Server源代码管理。例如,\ Projects \ Project1和\ Projects \ Project2。这两个项目之间没有共同的文件。

当我使用Windows资源管理器将新文件添加到\ Projects \ Project1时,它在两个副本中的条目中显示为"排除的更改"。如果我通过Visual Studio添加文件,它似乎会被添加为该解决方案(或项目)引用的文件,并显示在该项目的包含的更改中。

如何将Visual Studio配置为不将解决方案文件夹之外的任意文件添加到检测到的文件列表中?

在Visual Studio中,在“排除的更改”下,有一个“视图选项”链接,其中包含“显示解决方案更改”选项以及过滤器。但是,这些选项都不会阻止包含属于其他项目的文件。就好像检测到的代码的 root 已设置为两个解决方案的父文件夹。

2 个答案:

答案 0 :(得分:1)

由于您使用的是本地工作区,请首先通过以下检测文件的机制:

  

虽然本地工作区中的编辑可以隐式地添加   编辑文件,添加和删除仍然必须明确地添加。   但是, TFS版本控制的工作区扫描程序也会检测到新的   添加,和丢失文件的“候选人”文件   可以删除的文件夹。团队资源管理器正在等待   更改页面有一个链接,显示检测到的添加和的数量   删除,提供Promote Candidate Changes对话框的链接   可用于挂起“真实”对这些项目添加或删除。   这被称为“促进”候选人添加和/或删除 - 因为   它们变得真正悬而未决。

     

来源链接:Server workspaces vs. local workspaces

在您的情况下,由于您使用Windows资源管理器添加文件,因此TFS将在排除的更改中添加文件,您需要手动将文件提升为挂起更改列表中的真实添加。但是,TFS无法判断排除列表应该属于哪个Visual Studio。这就是为什么它在“排除更改”下的Visual Studio两个副本中都显示为条目。

  

如何将Visual Studio配置为不添加存在的任意文件   解决方案文件夹之外的检测文件列表?

除非您使用的是服务器工作区,否则无法对本地工作区执行此操作,但也有many limitations

另一种解决方法是配置具有多个TFS工作空间的多个项目。您可以在main或dev分支下为不同项目创建多个分支,并为每个分支创建不同的工作区。每个分支本身都是一个“项目”。

答案 1 :(得分:0)

  

就好像检测到的代码的根已经设置为父代   两个解决方案的文件夹。

正确。听起来好像您有一个TFVC工作区映射到单个根文件夹。如果您将单个工作空间映射到根文件夹,则该文件夹中的所有更改都将反映在团队资源管理器中。

解决方案:使用多个工作区,每个项目一个。如果您不熟悉TFVC中的工作空间概念,则可以获得有关该主题的大量文档。