使用 Visual Studio 的多个副本,每个副本都连接到不同的解决方案并维护单独的包含更改集
Working with multiple copies of Visual Studio, each connected to a different solution and maintaining separate sets of included changes
我打开了两份 Visual Studio 2017,每份 window 都使用单独的解决方案。两种解决方案都签入到单独文件夹中的 Team Foundation Server 源代码管理中。例如,\Projects\Project1 和 \Projects\Project2。这两个项目之间没有共同的文件。
当我使用 Windows 资源管理器将新文件添加到 \Projects\Project1 时,它在 Visual Studio 的 both 个副本中显示为条目"excluded changes"。如果我通过 Visual Studio 添加文件,它似乎被添加为该解决方案(或项目)引用的文件,并出现在该项目的 包含的更改 中。
如何配置 Visual Studio 不将存在于解决方案文件夹之外的任意文件添加到 检测到的 文件列表中?
在 Visual Studio 中,在排除的更改下,有一个视图选项 link,其中包含一个显示解决方案更改选项以及一个过滤器。但是,这些选项都不会阻止包含属于其他项目的文件。就好像把detected代码的root设置到两个解决方案的父文件夹
It is as if the root of the detected code has been set to the parent
folder of both solutions.
正确。听起来好像您有一个映射到单个根文件夹的 TFVC 工作区。如果您将单个工作区映射到根文件夹,则该文件夹中的所有更改都将反映在团队资源管理器中。
解决方案:使用多个工作区,每个项目一个。如果您不熟悉 TFVC 中工作区的概念,可以找到有关该主题的大量文档。
由于您使用的是本地工作区,请先通过以下机制检测文件:
While edits in a local workspace can be pended implicitly just by
editing the file, adds and deletes still must be explicitly pended.
However, TFS version control’s workspace scanner also detects new
files which are ‘candidates’ for addition, and missing files and
folders which are candidates for deletion. The Team Explorer’s Pending
Changes Page has a link which shows the number of detected adds and
deletes, and provides a link to the Promote Candidate Changes dialog
which can be used to pend ‘real’ adds or deletes on these items.
This is called “promoting” the candidate adds and/or deletes – because
they become real pending changes.
Source Link: Server workspaces vs. local workspaces
在您的情况下,由于您使用 Windows Explorer 添加文件,TFS 会将文件添加到排除的更改中,您需要手动将文件提升为真正添加到挂起的更改列表中。但是,TFS 无法判断排除列表应该属于哪个Visual Studio。这就是为什么它在 "excluded changes".
下的 Visual Studio 的两个副本中都显示为条目的原因
How do I configure Visual Studio to not add arbitrary files that exist
outside of the solution folder into the detected files list?
无法对本地工作区执行此操作,除非您使用的是服务器工作区,但也有 many limitations.
另一个解决方法是配置具有多个 TFS 工作区的多个项目。您可以在 main 或 dev 分支下为不同的项目创建多个分支,并为每个分支创建不同的工作区。每个分支本身就是一个'project'。
我打开了两份 Visual Studio 2017,每份 window 都使用单独的解决方案。两种解决方案都签入到单独文件夹中的 Team Foundation Server 源代码管理中。例如,\Projects\Project1 和 \Projects\Project2。这两个项目之间没有共同的文件。
当我使用 Windows 资源管理器将新文件添加到 \Projects\Project1 时,它在 Visual Studio 的 both 个副本中显示为条目"excluded changes"。如果我通过 Visual Studio 添加文件,它似乎被添加为该解决方案(或项目)引用的文件,并出现在该项目的 包含的更改 中。
如何配置 Visual Studio 不将存在于解决方案文件夹之外的任意文件添加到 检测到的 文件列表中?
在 Visual Studio 中,在排除的更改下,有一个视图选项 link,其中包含一个显示解决方案更改选项以及一个过滤器。但是,这些选项都不会阻止包含属于其他项目的文件。就好像把detected代码的root设置到两个解决方案的父文件夹
It is as if the root of the detected code has been set to the parent folder of both solutions.
正确。听起来好像您有一个映射到单个根文件夹的 TFVC 工作区。如果您将单个工作区映射到根文件夹,则该文件夹中的所有更改都将反映在团队资源管理器中。
解决方案:使用多个工作区,每个项目一个。如果您不熟悉 TFVC 中工作区的概念,可以找到有关该主题的大量文档。
由于您使用的是本地工作区,请先通过以下机制检测文件:
While edits in a local workspace can be pended implicitly just by editing the file, adds and deletes still must be explicitly pended. However, TFS version control’s workspace scanner also detects new files which are ‘candidates’ for addition, and missing files and folders which are candidates for deletion. The Team Explorer’s Pending Changes Page has a link which shows the number of detected adds and deletes, and provides a link to the Promote Candidate Changes dialog which can be used to pend ‘real’ adds or deletes on these items. This is called “promoting” the candidate adds and/or deletes – because they become real pending changes.
Source Link: Server workspaces vs. local workspaces
在您的情况下,由于您使用 Windows Explorer 添加文件,TFS 会将文件添加到排除的更改中,您需要手动将文件提升为真正添加到挂起的更改列表中。但是,TFS 无法判断排除列表应该属于哪个Visual Studio。这就是为什么它在 "excluded changes".
下的 Visual Studio 的两个副本中都显示为条目的原因How do I configure Visual Studio to not add arbitrary files that exist outside of the solution folder into the detected files list?
无法对本地工作区执行此操作,除非您使用的是服务器工作区,但也有 many limitations.
另一个解决方法是配置具有多个 TFS 工作区的多个项目。您可以在 main 或 dev 分支下为不同的项目创建多个分支,并为每个分支创建不同的工作区。每个分支本身就是一个'project'。