【问题标题】:Working with multiple copies of Visual Studio, each connected to a different solution and maintaining separate sets of included changes使用 Visual Studio 的多个副本,每个副本都连接到不同的解决方案并维护单独的包含更改集
【发布时间】:2018-08-03 20:46:31
【问题描述】:

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

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

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

在 Visual Studio 中,在 Excluded Changes 下,有一个 View Options 链接,其中包含 Show Solution Changes 选项和一个过滤器。但是,这些选项都不会停止包含属于其他项目的文件。就好像检测到的代码的root已经设置到两个解决方案的父文件夹了。

【问题讨论】:

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


    【解决方案1】:

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

    虽然本地工作区中的编辑可以隐式挂起 编辑文件,添加和删除仍然必须显式挂起。 但是,TFS 版本控制的工作区扫描器也会检测到新的 作为添加“候选”的文件, 和丢失的文件和 作为删除候选的文件夹。团队探索者的待定 更改页面有一个链接,显示检测到的添加数量和 删除,并且提供了指向“提升候选更改”对话框的链接 可用于在这些项目上挂起“真实”添加或删除。 这被称为“提升”候选人添加和/或删除 - 因为 它们成为真正的待定更改。

    来源链接:Server workspaces vs. local workspaces

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

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

    本地工作区没有办法做到这一点,除非你使用服务器工作区,但也有many limitations

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 2017-06-30
        相关资源
        最近更新 更多