【问题标题】:TeamCity with msunit: How to copy dll into output folder?TeamCity with msunit:如何将 dll 复制到输出文件夹中?
【发布时间】:2015-03-13 16:18:35
【问题描述】:

我想用 teamcity 运行我的(工作)msunit 测试。在我的测试中,我需要使用以下任一方式成功复制的几个文件(在 VS 中运行测试时):

  1. 文件属性 -> 复制到输出目录
  2. 或使用 xcopy 使用构建后步骤复制它们

作为我尝试的构建后操作:

xcopy /Y "$(ProjectDir)*somelib*.dll" "$(TargetDir)"

xcopy /Y "$(ProjectDir)*somelib*.dll" "$(OutDir)"

如您所见,我有需要复制的 somelib.dll 文件。这是由于使用了一个库,我将其列为参考。该库被正确复制,但它需要一些较旧的 (c++) dll,这些未包含在参考包中。

不幸的是,我找不到让 TeamCity 在 bin/debug/ 文件夹中运行 msunit 测试或将所有必要文件复制到工作临时文件夹的方法。

(我的目标是从多个测试套件运行所有单元测试,并从 dotCover 收集所有测试的结果。)

什么是处理这种情况的好方法?我注意到可以将文件作为资源打包到程序集中,并在需要它们之前将它们解压缩到单元测试中。我在每次测试中都需要 dll 并希望保持干燥 - 这是“仅”复制文件的明智方法吗?

【问题讨论】:

    标签: unit-testing resources teamcity


    【解决方案1】:

    就 TeamCity 而言,您可以确保从命令行(在 TeamCity 代理机器上,在同一目录中,etc.)运行该过程,然后在 TeamCity 构建中复制相同的步骤.由于 TeamCity 只是将 MSBuild 作为外部进程启动并执行配置的命令,因此应该没有特定于 TeamCity 的特性。

    【讨论】:

      猜你喜欢
      • 2012-10-11
      • 2017-05-04
      • 1970-01-01
      • 2021-09-10
      • 2017-09-01
      • 2014-04-10
      • 1970-01-01
      • 2010-12-19
      相关资源
      最近更新 更多