2013-07-02 36 views
0

我目前正在研究如何在我们的VS解决方案中使用TFS与NuGet进行集成。使用NuGet的原因是绕过不同TFS分支共享库的问题。通常情况下,我们会有一个解决方案,它具有一个链接到共享库的项目(使用相对路径),但是我们的分支位于项目级别,所以此链接会中断。用TFS管理基于NuGet的库

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

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

一个例子

Solution A 
- Core Library 
- Project A1 
- Project A2 

我希望开发人员能够打通的解决方案和核心库项目(不仅仅是组件)的NuGet拉那么他可以进入源代码并进行必要的变化。如果他发现了核心库中的错误我希望开发者能够:

  1. 做出改变
  2. 重新测试和调试
  3. 登记入住的代码。

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

对于如何实现这一点以及在使用NuGet,TFS和共享库时推荐的工作流程,我有点朦胧。

回答

0

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

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

这样,只需要在本地为Project B(或谁是Project A的消费者)运行程序包恢复。