【问题标题】:Checking in changes to TFVC from other solutions从其他解决方案签入对 TFVC 的更改
【发布时间】:2014-07-02 18:26:28
【问题描述】:

我正在使用 Visual Studio Online。我有一些项目,这些项目具有我在不同 TFS 项目中的许多不同解决方案中使用的通用代码,并且我还有一些文件,这些文件与其中一些项目中的其他 TFS 项目链接。为了能够全部访问它们,我更改了 Workspace 配置,以便将 $/ 映射到特定文件夹。

问题是我刚刚签入了一个项目中的更改,并注意到它还签入了一个完全不相关的更改,而这根本不是解决方案的一部分!我如何配置东西以便能够访问我需要的所有内容,而无需从不相关的项目中交叉签入文件(并且不必在每次签入时手动排除/包含文件)!?

编辑:我注意到在我最近几次签入时,当我还签出其他项目的项目时,这种情况似乎没有再次发生。想知道是什么原因造成的。

【问题讨论】:

    标签: tfs visual-studio-2013 azure-devops tfvc


    【解决方案1】:

    您应该为此查看 NuGet 解决方案。如果您使用 VSO,您可以使用新的 MyGet integration 和自动构建过程。如果为打包在 NuGet 包中的共享项目输出创建自动生成,则可以创建 NuGet 存储库 ion MyGet 以将其提供给其他解决方案。

    完成后,如果您更改共享代码并签入,构建和包将启动并部署您的新版本包。然后,您的其他解决方案将提示您自动更新。您甚至不需要签入依赖程序集,因为您可以使用NuGet Package Restore 来确保您的本地和构建服务器获得正确的版本。

    听起来工作量很大,但是一旦您加快了速度,只需花费几个小时的时间来配置您想要以这种方式共享或部署的任何内容。

    【讨论】:

    • 有趣的想法,但这不仅仅是保持构建最新的问题 - 当我遇到每个项目中我需要的东西时,我会添加到共享代码中,所以我确实想要源代码也可用于快速更改和构建
    • 使用共享代码方法真的很糟糕。如果您对共享项目进行重大更改,您最终可能会导致一大堆东西无法编译。如果您有 20 个使用共享代码的东西,而您需要将 21 个更新到较新的版本……您什么时候回去修复另外 20 个?因为他们现在坏了......你不能做任何事情,包括错误修复,直到你修复它。最好从二进制存储库中自愿拉取..
    【解决方案2】:

    在 Team Explorer 的 Pending Changes 部分,Included Changes 部分有一个下拉菜单。如果它设置为“全部显示”,您将看到所有解决方案的更改待定。如果它设置为“显示解决方案更改”,您只会看到当前解决方案的未决更改。 (我的猜测是,当您签入更改时它被设置为“显示全部”,这就是您签入其他解决方案的原因。)

    【讨论】:

      猜你喜欢
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2020-07-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      相关资源
      最近更新 更多