TFS自动将已构建的DLL添加到源代码管理

时间:2009-10-06 04:51:28

标签: tfs

  • 我有一个存储在TFS中的多项目解决方案。
  • 每个项目都有单独的Debug / Release构建配置文件夹。
  • 主项目的bin文件夹在源代码管理中“包含”,因为它包含存储库中包含的一些第三方DLL。
  • 根据MS / TFS最佳实践,每个参考都是“项目”参考类型。

每次构建解决方案时,VS / TFS都会将主项目的所有构建的依赖项复制到构建配置文件夹(调试/发布)和根bin文件夹中。当文件出现在根bin文件夹中时,它们会被添加到源代码控制中(或者如果由于同样的问题它们已经存在,则签出)

目前,我已从源代码管理中删除了bin文件夹,但这不太理想,因为现在每个开发人员都必须维护本地DLL,而不是仅从源代码控制中获取它们。

我理想的解决方案是使用SVN而不是TFS,但我已经陷入了这个问题。

这种情况下的最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

如果你想在你的源代码管理中包含二进制文件(有些人会因为这样做而将你烧掉),我会做以下事情:

  • 在项目中创建“二进制”文件夹
  • 复制那里的依赖项
  • 在该位置添加对这些DLLS的引用

项目文件将包含它们的相对路径,因此您可以安全地将该目录包含在源代码管理中,并使其适用于所有开发人员,而无需将“bin”目录添加到源代码管理中。

答案 1 :(得分:0)

使用上面的答案和评论中概述的解决方案后,我发现由于某种原因,在构建解决方案时,其中一个DLL没有被复制到bin文件夹。 (对于引用,将local local设置为true。)DLL将复制到构建配置文件夹中,但不会复制到主bin文件夹中。它在应用程序中使用,因此依赖性检查应该选择它。就像现在一样,每当代码尝试访问此组件时都会发生运行时错误(正如缺少DLL所预期的那样。

有什么想法吗?