0

我目前正在研究如何在我们的 VS 解决方案中使用 TFS 与 NuGet 进行集成。使用 NuGet 的原因是为了解决跨不同 TFS 分支共享库的问题。通常我们会有一个解决方案,它有一个链接到共享库的项目(使用相对 pat),但我们的分支是在项目级别,所以这个链接会中断。

这个想法是将共享库存储在 TFS 中,然后部署到内部 NuGet 服务器。

我遇到的一个问题是管理存储在 TFS 中的共享库,同时能够从 NuGet 调试中退出然后提交。

一个例子

Solution A
 - Core Library
 - Project A1
 - Project A2

我希望开发人员能够打开解决方案并让 NuGet 拉入核心库项目(不仅仅是程序集),这样他就可以进入源代码并进行必要的更改。如果他在核心库中发现错误,我希望开发人员能够:

  1. 做出改变
  2. 重新测试和调试
  3. 签入代码。

我不确定第 3 步将如何工作。如果项目是通过 NuGet 引入的,那么它不会是 TFS 绑定项目,对吗?然后开发人员将如何进行更改并能够签入?他是否会被迫打开一个绑定到 TFS 的单独项目,签入然后部署到 NuGet,然后确保解决方案 A 再次重新获取核心库。

对于如何实现这一点以及使用 NuGet、TFS 和共享库时推荐的工作流程是什么,我有点模糊。

4

1 回答 1

0

使用 TFS,您至少应该能够使源步进工作,因为 TFS 支持开箱即用的源索引。这不需要在Project A本地构建,开发人员甚至不需要拥有源代码Project A——VS 会在调试时自动提取它们(假设您已启用源服务器支持并正确配置了符号)。

但是,为了进行更改,开发人员需要正确 checkout Project A。为了在Project A本地测试任何更改,开发人员只需Project A使用构建输出作为 NuGet 的本地包源重新构建。

这样,只需要在本地为Project B(或任何消费者Project A)运行包恢复。

于 2013-07-08T16:48:17.587 回答