【问题标题】:How do I copy dll files for a build using team build如何使用团队构建复制 dll 文件以进行构建
【发布时间】:2012-10-19 03:00:09
【问题描述】:

我有一堆在多个项目中使用的外部 dll。这些 dll 被这些项目引用,一切都可以正常编译。

现在我正在尝试为我的项目构建 Team Foundation Server。当我运行构建时,它抱怨它找不到所需的文件。如何让 TFS 找到所需的文件?

我在想我可以在自定义构建模板中使用 copydirectory windows 工作流功能,但我不确定这是否是正确的做法。另外,如果我确实使用了 copydirectory,我如何引用驻留在 TFS 而不是文件系统上的目录?我应该将文件复制到哪里?

【问题讨论】:

  • 你使用的是什么 TFS 版本?

标签: tfs


【解决方案1】:

试试这个:(如果使用 2010) 在Workspaces 选项卡上,您可以map the folder 包含您想要的所有DLL,只需确保您正确引用项目中的程序集即可。

例如,如果您的项目引用了上一级的程序集,则可以在项目根文件夹之前设置workspace,如下所示:

$\团队项目\src -> $(BuildDirectory)\src

$\Team Project\dlls -> $(BuildDirectory)

类似的东西应该可以解决您的问题。

在 VS2010 构建中还有一种方法可以做到这一点:您应该在项目的预构建步骤中添加一个复制命令(选择项目 -> 属性 -> 构建事件)。

如果您想使用windows工作流-模板方法,请参考本指南:http://blogs.msdn.com/b/buckh/archive/2010/01/21/deep-dive-on-windows-workflow-4-0-activities.aspx

【讨论】:

  • 我实际上已经尝试将目录添加到“builddefinition:Workspaces->WorkingFolders”屏幕的列表中,但没有成功。另外,关于您添加自定义构建事件的想法,我如何引用 TFS 服务器上存在的文件?我认为这样做是不可能的。
  • TFS 服务器中存在的文件应在触发活动时自动交叉引用。我想你可以试试这个:Build Definition-> Workspace 标签。将您的 dll 的源代码控制中的位置添加为服务器路径和本地路径,您希望在其中下载 dll。很难回答与您的需求绝对相关的问题,除非您的问题确实描述了您的服务器是如何设置的。
  • 好的,我可以使用你的方法让事情正常进行。我想我第一次做错事或使用了错误的路径。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 2015-03-19
  • 2011-05-04
  • 1970-01-01
相关资源
最近更新 更多