如何在TFS和共享dll中处理公共库

ama*_*eur 7 c# tfs visual-studio tfs2010 nuget

我在tfs源代码控制中设置了2个不同的应用程序.两者共享一个公共库,也在源代码控制中设置.

更改公共库的当前过程是构建它,将dll复制到其他应用程序引入和使用的位置.这是手动的,不能很好地工作,特别是现在我正在转向TFS CI构建.

在TFS中这样的布局:

-TFS
   - Web 1
      | Main
      | RB_1_0
   - Web 2
      | Main
      | RB_1_0
   - Shared
      | Main
      | RB_1_0
      | RB_2_0
      | RB_3_0
Run Code Online (Sandbox Code Playgroud)

所以我希望改变它,自动化它.但不知道我怎么能这样做.你可以看到有多个分支等.作为一个常见的库,我正在考虑设置像我使用nuget包,其中更改被推送到我的web 1和/或web 2.我不确定它是多么容易设置它.

是否有可能审查上述结构并就管理输出dll的分布的最佳方式发表意见?在CI环境中?Nuget是最好的选择吗?

Bet*_*tty 9

NuGet就是我用来做的.

修改构建过程以为公共包创建新包

添加一个活动来构建一个nuget包,另一个将它复制到您用作NuGet存储库的网络共享.像Tfs NuGetter这样的一些项目可以用来代替手动编辑构建模板.

如果您不想修改构建模板,那么可以使用[tfs deployer]之类的工具编写自定义部署脚本来创建NuGet包.或者写一些挂钩到构建完成事件的东西.

在构建中为所有解决方案启用还原包

这意味着您无需将软件包存储在源代码管理中,也无需在最新解决方案时处理未下载的软件包.

当您想要更新依赖项的版本时,打开解决方案并像任何正常的NuGet包一样更新它.